list = [['1', '2', '3'], ['a', 'b', 'c']]

Jak mogę wygenerować następujący wynik?

list = [['1\r\na', '2\r\nb', '3\r\nc']]
-4
yeungcase 2 wrzesień 2017, 17:09

2 odpowiedzi

Najlepsza odpowiedź

Budowanie odpowiedzi @ psidom, ale za pomocą formatowania strunowego:

lst = [['1', '2', '3'], ['a', 'b', 'c']]

new_list = ["{}\r\n{}".format(a, b) for a, b in zip(*lst)]

Wynik:

['1\r\na', '2\r\nb', '3\r\nc']
1
Ajax1234 2 wrzesień 2017, 14:14

Możesz ZIP lista z zip(*lst), która zamuje wszystkie subliodki na oryginalnej liście, a następnie Dołącz każdą krotkę z \r\n:

lst = [['1', '2', '3'], ['a', 'b', 'c']]

['\r\n'.join(t) for t in zip(*lst)]
# ['1\r\na', '2\r\nb', '3\r\nc']
2
Psidom 2 wrzesień 2017, 14:11