列表理解对我来说就像正则表达式对我来说就像一 block 不透明的花岗岩。我需要指点。
说,我有一个 2D 列表:
li = [[0,1,2],[3,4,5],[6,7,8]]
我想将其合并到一个长列表中
li2 = [0,1,2,3,4,5,6,7,8]
或用分隔符转换成字符串:
s = "0,1,2,3,4,5,6,7,8"
真的,我很想知道如何做到这两点。
最佳答案
像这样:
[ item for innerlist in outerlist for item in innerlist ]
将其直接转换为带分隔符的字符串:
','.join(str(item) for innerlist in outerlist for item in innerlist)
是的,“for innerlist in outerlist”和“for item in innerlist”的顺序是正确的。即使循环的“主体”位于 listcomp 的开头,嵌套循环(和“if”子句)的顺序仍然与您写出循环时的顺序相同:
for innerlist in outerlist:
for item in innerlist:
...
关于python - 如何使用 List Comprehension 将 Python 中的二维数组合并为一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/103844/