Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从元组列表中删除某些内容_Python_List_Tuples - Fatal编程技术网

Python 从元组列表中删除某些内容

Python 从元组列表中删除某些内容,python,list,tuples,Python,List,Tuples,假设我有一张清单: [(12,34,1),(123,34,1),(21,23,1)] 我想从列表中的每个元组中删除1,使其成为 [(12,34),(123,34),(21,23)] 要截断元组,请使用列表: [t[:-1] for t in listoftuples] 或者,作为一个简单的演示: >>> listoftuples = [(12,34,1),(123,34,1),(21,23,1)] >>> [t[:-1] for t in listoft

假设我有一张清单:

[(12,34,1),(123,34,1),(21,23,1)]
我想从列表中的每个元组中删除1,使其成为

[(12,34),(123,34),(21,23)]

要截断元组,请使用列表:

[t[:-1] for t in listoftuples]
或者,作为一个简单的演示:

>>> listoftuples = [(12,34,1),(123,34,1),(21,23,1)]
>>> [t[:-1] for t in listoftuples]
[(12, 34), (123, 34), (21, 23)]

要截断元组,请使用列表:

[t[:-1] for t in listoftuples]
或者,作为一个简单的演示:

>>> listoftuples = [(12,34,1),(123,34,1),(21,23,1)]
>>> [t[:-1] for t in listoftuples]
[(12, 34), (123, 34), (21, 23)]

元组是不可变的,因此不能删除项。但是,您可以从旧元组创建一个新元组,其中不包括您不希望包含的元素。因此,要从元组列表中的每个元组中删除任意项,可以执行以下操作:

def deleteItem(lst, toDel):
    return [tuple(x for x in y if x != toDel) for y in lst]
结果:

>>> lst = [(12,34,1),(123,34,1),(21,23,1)]
>>> deleteItem(lst, 1)
[(12, 34), (123, 34), (21, 23)]

元组是不可变的,因此不能删除项。但是,您可以从旧元组创建一个新元组,其中不包括您不希望包含的元素。因此,要从元组列表中的每个元组中删除任意项,可以执行以下操作:

def deleteItem(lst, toDel):
    return [tuple(x for x in y if x != toDel) for y in lst]
结果:

>>> lst = [(12,34,1),(123,34,1),(21,23,1)]
>>> deleteItem(lst, 1)
[(12, 34), (123, 34), (21, 23)]

由于元组是不可变的,因此无法更改元组,因此我建议使用列表列表:

my_list = [[12,34,1],[123,34,1],[21,23,1]]
for i in my_list:
    i.remove(1)
return my_list

这将返回:[[12,34],[123,34],[21,21].

由于元组是不可变的,所以不能更改元组,因此我建议使用列表列表:

my_list = [[12,34,1],[123,34,1],[21,23,1]]
for i in my_list:
    i.remove(1)
return my_list
它返回:[[12,34],[123,34],[21,21]]

这将从元组中删除所有1,而不考虑索引

     python 3.2

    1. [(i,v)for i,v,c in list1]

    2. list(map(lambda x:x[:2],list1))
这将从元组中删除所有1,而不考虑索引

     python 3.2

    1. [(i,v)for i,v,c in list1]

    2. list(map(lambda x:x[:2],list1))