python - 如何使用 List Comprehension 将 Python 中的二维数组合并为一个字符串?

标签 python list-comprehension

列表理解对我来说就像正则表达式对我来说就像一 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/

相关文章:

python - 如何在我的代码中找到非 ASCII 字节?

python - 通过列表理解的频率数据框?

python - 使用列表理解将字符串中的多个重音字母替换为一个字母

python - 如何更改具有命名前缀的 XML 元素的属性

python - 你对这些汇编助记符有什么建议吗?

python - 如何使用多级/多连接在 SQLAlchemy 中指定表关系?

python - 在 Python 中生成动态列表理解

python - 对嵌套迭代的理解?

python 基本 for 循环/列表理解

python - 停止无限 while 循环重复调用 os.system