Python: Zusammenführungsliste mit Bereichsliste

Ich habe eine list :

 L = ['a', 'b'] 

Ich muss eine neue list erstellen, indem du eine Originalliste list die von 1 bis k . Beispiel:

 k = 4 L1 = ['a1','b1', 'a2','b2','a3','b3','a4','b4'] 

Ich versuche:

 l1 = L * k print l1 #['a', 'b', 'a', 'b', 'a', 'b', 'a', 'b'] l = [ [x] * 2 for x in range(1, k + 1) ] print l #[[1, 1], [2, 2], [3, 3], [4, 4]] l2 = [item for sublist in l for item in sublist] print l2 #[1, 1, 2, 2, 3, 3, 4, 4] print zip(l1,l2) #[('a', 1), ('b', 1), ('a', 2), ('b', 2), ('a', 3), ('b', 3), ('a', 4), ('b', 4)] print [x+ str(y) for x,y in zip(l1,l2)] #['a1', 'b1', 'a2', 'b2', 'a3', 'b3', 'a4', 'b4'] 

Aber ich finde es sehr kompliziert. Was ist die schnellste und allgemeinste Lösung?

2 Solutions collect form web for “Python: Zusammenführungsliste mit Bereichsliste”

Sie können ein Listenverständnis verwenden:

 L = ['a', 'b'] k = 4 L1 = ['{}{}'.format(x, y) for y in range(1, k+1) for x in L] print(L1) 

Ausgabe

 ['a1', 'b1', 'a2', 'b2', 'a3', 'b3', 'a4', 'b4'] 

Meine Lösung ist fast gleich, aber die Ausgabe ist in unterschiedlicher Reihenfolge …

Bestellt materie

Hier ist meine Lösung

 from itertools import product L = ['a', 'b'] k = 4 L2 = range(1, k+1) print [x+ str(y) for x,y in list(product(L,L2))] 

Ausgabe:

 ['a1', 'a2', 'a3', 'a4', 'b1', 'b2', 'b3', 'b4'] 
  • Die längste Zeichenfolge in numerischer Reihenfolge in einer Zeichenfolge in Python finden
  • Wie man mehrere http-Anfragen python sendet
  • Mit python socketserver kann ich eine Variable an den Konstruktor der Handler-Klasse übergeben
  • __getitem__ mit Scheiben auf einer Liste von Listen
  • Python shutil.rmtree werfende fehler
  • Interaktion mit Standard-Eingabe / Ausgabe eines anderen Prozesses
  • Wie finde ich das maximale Produkt von zwei Elementen in einer Liste?
  • Wie kann ich einen .pyc-Dateiinhalt verstehen
  • Kryptographie AssertionError: sorry, aber diese Version unterstützt nur 100 benannte Gruppen
  • Kann die Funktion nicht mit checkbuttons mit tkinter arbeiten
  • Python - Verwandeln Sie einen Dateiinhalt in ein binäres Array
  • Python ist die beste Programmiersprache der Welt.