【发布时间】:2016-06-02 22:16:18
【问题描述】:
我有一个列表,里面有几个嵌套列表,如下所示:
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],... 等。有一次我设法找到缩进的写组合,但后来我遇到了语法错误,在调试时,我丢失了正确的形式。但是,我相信有比成为“for”的领导者更优雅的解决方案。
我的实际数据是一个包含多个嵌套列表的列表,每个列表包含十个元素。其中之一还包含 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行(因为它的@987654329 @成员)?到底发生了什么? -
你是对的,我的错,请参阅更正。
-
它看起来 几乎 像您希望
itertools.chain.fromiterable(zip(* MyMasterListwithListsInside))生成您想要的订单,但List4[4]实际上并不存在,所以我不明白您实际上想要做什么做。 -
List4[4] 正确,立即更正
标签: python-3.x output nested-lists file-writing listiterator