只删除一个项目的元组 - python

时间:2016-06-07 14:02:13

标签: python tuples

我有一个元组列表,一些元组只有一个项目。如何从列表中只删除一个项目的元组?我想保留元组中的两个项目。

我的元组包含一个字符串,然后是一个整数

list = ((['text'],1),(['text'],2),((3,))

4 个答案:

答案 0 :(得分:5)

我可能会建议:

filtered_list = [tup for tup in list if len(tup) == 2]

您还可以检查元组长度是否高于1或其他任何内容......

答案 1 :(得分:3)

怎么样:

new_list = [x for x in old_list if len(x) > 1]

答案 2 :(得分:2)

您想要创建一个带方括号而不是括号的列表,否则您将创建一个元组。

另外请不要像EdChum建议的那样调用内置名称等变量。

此处的解决方案是过滤您的列表:

l=[(1,2),(3,),(4,5)]
filter(lambda x: len(x)!=1, l)

答案 3 :(得分:0)

你可以使用类似的东西来重建一个长度大于1的元组的新元组。

new_list = tuple(item for item in your_list if len(item) > 1)