У меня есть список с несколькими вложенными списками внутри, например:
MyMasterListwithListsInside = [List1,List2,List3,List4]
List1 = [f,e,g,t]
List2 = [t,r,e,y]
List3 = [g,k,f,k]
List4 = [o,y,[t,y]]
Я пытаюсь, чтобы выходные файлы выглядели так:
file 1
f or List1[1] \n
t or List2[1] \n
g or List3[1] \n
o or List4[1] \n
file 2
e or List1[2] \n
r or List2[2] \n
k or List3[2]\n
y or List4[2]\n
file 3
g or List1[3] \n
e or List2[3] \n
f or List3[3] \n
t or List4[3][1] \n
y or List4[3][2] \n
До сих пор я пробовал:
for x in a:
with open("whatever","a", encoding="utf-8") as file:
file.write("\n")
for y in x:
if y is not None:
file.write("\n")
file.write(y)
x.remove(y)
for f in ok:
file.write("\n")
file.write(f)
ok.remove(f)
for k in kok:
file.write("\n")
file.write(k)
kok.remove(k)
for s in sok:
file.write("\n")
file.write(s)
sok.remove(s)
for o in yok:
for ik in o:
if ik is not None:
file.write("\n")
file.write(ik)
else:
yok.remove(o)
else:
print("Done!")
Я также пробовал несколько комбинаций различных углублений. Ни один из них не работает. Либо я получаю List1[1:4],List2[1:4],...
и т. д. как вывод, либо List1[1],List2[1],List3[1:4],...
и т. д. В какой-то момент мне удалось найти комбинацию записи отступов, но затем у меня возникла синтаксическая ошибка, и во время отладки я потерял правильную форму. Однако я уверен, что есть более элегантное решение, чем создание лидера "для". Мои фактические данные представляют собой список, содержащий несколько вложенных списков, каждый из которых содержит десять элементов. Один из них также содержит 10 вложенных списков. Я также могу пойти на компромисс в формате, который выглядит следующим образом:
f or List1[1] \n
t or List2[1] \n
g or List3[1] \n
o or List4[1] \n
e or List1[2] \n
r or List2[2] \n
k or List3[2]\n
y or List4[2]\n
g or List1[3] \n
e or List2[3] \n
f or List3[3] \n
t or List4[3][1] \n
y or List4[3][2] \n
Заранее спасибо
n
строк (для своихn
элементов)? Что происходит на самом деле? - person Two-Bit Alchemist   schedule 03.06.2016itertools.chain.fromiterable(zip(* MyMasterListwithListsInside))
генерировал нужный вам порядок, ноList4[4]
на самом деле не существует, поэтому я не понимаю, что вы на самом деле пытаетесь сделать. - person Tadhg McDonald-Jensen   schedule 03.06.2016len(List4) == 3
), он пропустит последний элемент других списков, если вы сгладитеList4
, тогда он сделаетy
после четвертого элемента других списков, который не соответствует желаемому результату... Хотя, если у вас естьitertools
делать то, что вы хотите, возможно, опубликуйте ответ самостоятельно, чтобы я мог понять, что вы на самом деле хотели, и, возможно, улучшить его, если смогу. - person Tadhg McDonald-Jensen   schedule 03.06.2016