作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在学习 python 中列表理解的概念。但是,当我迭代的列表包含长度相等或不同的子列表时,我会遇到很大的问题。例如,我想将 union_set()
的代码变成单行理解:
def union_set(L):
S_union = set()
for i in range(len(L)):
S_union.update(set(L[i]))
return S_union
L1 = [1, 2, 3]
L2 = [4, 5, 6]
L3 = [7, 8, 9]
L = [L1, L2, L3]
print(L)
print(union_set(L))
我很确定这应该是可能的(也许通过“某种方式”解压子列表的内容(?)),但我担心我在这里遗漏了一些东西。谁能帮忙?
最佳答案
使用列表理解,你可以做这样的事情:
>>> L1 = [1, 2, 3]
>>> L2 = [4, 5, 6]
>>> L3 = [7, 8, 9]
>>> L = [L1, L2, L3]
>>> s=set([x for y in L for x in y])
>>> s
set([1, 2, 3, 4, 5, 6, 7, 8, 9])
y 遍历子列表,而 x 遍历 y 中的项目。
关于python - 如何在 python 的单行理解中提取子列表的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17524819/
我是一名优秀的程序员,十分优秀!