Объединение трех разных списков в python - PullRequest
1 голос
/ 29 марта 2020

Спасибо, что посмотрели мою проблему.

Я пытаюсь сравнить ячейки из трех CSV-файлов, чтобы убедиться, что они в точности совпадают. ячейки в csv могут содержать имена, даты или идентификационные номера. Все должны соответствовать.

compile = []
for a in Treader,Vreader,Dreader:
    for b in a:
        compile.append(b[0])

Однако количество переменных будет колебаться, и я не хочу продолжать каждый раз добавлять индексные сплайсинги. см. «compl ie .append (b [0])». Теперь вопрос, каким образом я могу построить это, чтобы дать мне случайное количество переменных и случайное количество индексов, основанных на длине "len" исходного списка. Могу ли я использовать функцию диапазона для этого? не уверен, как я могу создать что-то вроде этого.

Текущий вопрос, который у меня есть,

List = [[sally,john,jim], [sally,john,jim], [sally,john,jim]]

If I have the list above how could I get it to show

List =[sally,sally,sally]
List1 = [john,john,john]
List2 = [jim,jim,jim]

Также я хочу иметь возможность создавать неограниченное количество списков на основе длины этот список, который находится внутри списка. В этом случае его 3 для трех имен.

Некоторые из моего списка имеют 30, некоторые имеют 5, поэтому важно, чтобы я мог назначить его, не вводя list1 в список 30 и назначая каждый из них вручную.

1 Ответ

2 голосов
/ 29 марта 2020

вы можете использовать:

compile = list(zip(Treader,Vreader,Dreader))

это создаст список кортежей, кортеж будет иметь вид (sally,john,jim)


после вашего редактирования

вы можете использовать:

list(zip(*List))

вывод:

[('sally', 'sally', 'sally'), ('john', 'john', 'john'), ('jim', 'jim', 'jim')]
...