python - 根据元组内的值拆分元组列表

标签 python

如果我有以下内容:

[(1,2),(2,3),(0,0),(4,0),(0,1),(3,9),(2,0),(2,4)]

我怎样才能把它分成:

[(1,2),(2,3)], [(0,1),(3,9)], [(2,4),]

每次我在索引 1 处看到一个带有 0 的元组时,例如(1,0),我拆分列表。

最佳答案

试试这个:

from itertools import groupby

x = [(1,2), (2,3), (0,0), (4,0), (0,1), (3,9), (2,0), (2,4)]

print [l for l in [list(group) for key, group in groupby(x, key=lambda k: k[1]==0)]
             if l[0][1] != 0]

[OUT] [[(1,2), (2,3)], [(0,1), (3,9)], [(2,4)]]

它会生成一个列表,您可以遍历该列表以获取这些子列表。

关于python - 根据元组内的值拆分元组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13327105/

相关文章:

python - 鹈鹕重启你的服务器

python - 如何将具有 `.1` 的重复列合并到没有 `.1` 的单列中?

python - 检测图像边缘是否几乎是直线

java - 如何实现一种算法来检查 Python 代码的缩进

python - 类型错误 : string indices must be integers (Python)

javascript/jquery 下拉菜单选择不传递 GET 请求

Python: "IN"(用于列表)如何工作?

Python - 内部相似性

python - 使用python从文本文件中查找并打印引号中的文本

python - IntelliJ IDEA : Define the environment variable DJANGO_SETTINGS_MODULE