2024-10-04 01:23:57 发布
网友
我试图通过将列表存储在第二个变量中并从列表中删除一个项目,然后检查列表中是否还有该项目的副本来检查列表中的内容是否重复。我得到的是:
disposableList = list for i in disposableList: disposableList.remove(i) if i in disposableList: end = True
问题是当它从disposableList中删除i时,它也会从List中删除i。有没有办法做到这一点而不影响原来的名单?你知道吗
我想指出的第一件事是变量名list的使用。这是一个危险的变量名,因为list实际上是python中的一个函数,如果在python中键入它,您会注意到它将变为紫色。一旦将名称list赋给变量,就不能再使用该函数的特性。为了便于解释,我将使用名称my_list。你知道吗
list
my_list
另外,disposableList = my_list不会创建您正在使用的列表的副本。它只是将原始列表存储在一个新的变量名下。你知道吗
disposableList = my_list
您会发现,使用for循环来替换disposableList = my_list会更好,因为它会在原始列表中循环,并将每个项放在新列表中。你知道吗
我还建议使用break函数,因为一旦找到某些需求,就可以退出循环并继续编写代码。你知道吗
break
以下是我为您编写的代码:
my_list = [1,2,3,4,5,5] disposableList = [] for i in my_list: disposableList.append(i) for i in my_list: disposableList.remove(i) if i in disposableList: break
祝你好运!你知道吗
约旦。你知道吗
有没有不想使用内置列表函数list.count(item)的原因?假设您有以下设置:
list.count(item)
a = [1,2,3,4,4,5,5,5] for i in a: if a.count(i) > 1: print("The list contains a duplicate:", i)
或者更好的方法是,如果要创建没有重复项的列表,请使用内置的set类型:
a = [1,2,3,4,4,5,5,5] b = set(a) print(b)
这将输出"{1, 2, 3, 4, 5}"
"{1, 2, 3, 4, 5}"
如注释中所述,如果出于某种原因仍确实要复制列表,请使用b=a.copy()(b=a只是从b到a的引用(如果两者都是列表)。这就是为什么改变一个事物会改变另一个事物。)
b=a.copy()
b=a
b
a
我想指出的第一件事是变量名
list
的使用。这是一个危险的变量名,因为list
实际上是python中的一个函数,如果在python中键入它,您会注意到它将变为紫色。一旦将名称list
赋给变量,就不能再使用该函数的特性。为了便于解释,我将使用名称my_list
。你知道吗另外,
disposableList = my_list
不会创建您正在使用的列表的副本。它只是将原始列表存储在一个新的变量名下。你知道吗您会发现,使用for循环来替换
disposableList = my_list
会更好,因为它会在原始列表中循环,并将每个项放在新列表中。你知道吗我还建议使用
break
函数,因为一旦找到某些需求,就可以退出循环并继续编写代码。你知道吗以下是我为您编写的代码:
祝你好运!你知道吗
约旦。你知道吗
有没有不想使用内置列表函数
list.count(item)
的原因?假设您有以下设置:或者更好的方法是,如果要创建没有重复项的列表,请使用内置的set类型:
这将输出
"{1, 2, 3, 4, 5}"
如注释中所述,如果出于某种原因仍确实要复制列表,请使用
b=a.copy()
(b=a
只是从b
到a
的引用(如果两者都是列表)。这就是为什么改变一个事物会改变另一个事物。)相关问题 更多 >
编程相关推荐