Próbuję dwukrotnie dołączyć do jednej listy, używając funkcji rozumienia dwóch list. Mój kod wygląda jak poniżej:

list_one = [1, 2, 3]
list_two = [4, 5, 6]

list_a = []
list_b = []

list_a = [ x for x in list_one ]
list_a = [ x for x in list_two ]

for i in list_one:
    list_b.append(i)

for i in list_two:
    list_b.append(i)

print(f"list_a: {list_a}")
print(f"list_b: {list_b}")

Wyjście skryptu:

list_a: [4, 5, 6]
list_b: [1, 2, 3, 4, 5, 6]

Jak mogę dodać wszystkie wartości do list_b używając funkcji rozumienia list?

0
Chamara Keragala 2 kwiecień 2020, 16:23

3 odpowiedzi

Najlepsza odpowiedź

Ponieważ nadpisałeś list_a.

Próbować:

list_a = []
list_a += [ x for x in list_one ]
list_a += [ x for x in list_two ]

Lub

list_a = []
list_a.extend(x for x in list_one)
list_a.extend(x for x in list_two)

Zakładam, że przykładowe rozumienie listy zostało uproszczone .
Jeśli to był rzeczywisty kod, możesz po prostu:

list_a = list_one + list_two
1
Carcigenicate 2 kwiecień 2020, 14:47

Możesz użyć zagnieżdżonego wyrażenia:

>>> list_b = [x for l in (list_one, list_two) for x in l]
>>> list_b
[1, 2, 3, 4, 5, 6]

Lub użyj narzędzia takiego jak itertools.chain lub prostej konkatenacji:

list_b = list(chain(list_one, list_two))
list_b = list_one + list_two
0
schwobaseggl 2 kwiecień 2020, 13:29

Myślę, że to właśnie próbujesz zrobić ...

list_one = [1, 2, 3]
list_two = [4, 5, 6]
list_one.extend(list_two)#[1, 2, 3, 4, 5, 6]
list_two=list_one##[1, 2, 3, 4, 5, 6]
0
Lakshmi Ram 2 kwiecień 2020, 13:44