我有一个元组列表,一些元组只有一个项目。如何从列表中只删除一个项目的元组?我想保留元组中的两个项目。
我的元组包含一个字符串,然后是一个整数
list = ((['text'],1),(['text'],2),((3,))
答案 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)