【发布时间】:2017-08-29 03:38:48
【问题描述】:
这似乎很简单,但也许我只是想得太久了...... 我有一个包含六个数字的列表:
即
mylist=[2,4,6,8,10,12]
我只想检查列表是否包含确切的序列
IE。
if mylist == [1,2,3,4,5,6]:
我试过了
if mylist == [1,2,3,4,5,6]:
if mylist == ['1','2','3','4','5','6']
if mylist == ["1","2","3","4","5","6"]
似乎没有一个工作。我有另一种使用 list.count() 函数的 for 循环执行此操作的方法,但我觉得如果可能的话,上述方法会更好。有人可以提供见解吗?
谢谢 ;)
【问题讨论】:
-
您认为
list == [1,2,3,4,5,6]有什么问题? -
我在 if 语句中的代码在 if 语句是这样制作时没有执行,即 if list == [1,2,3,4,5,6]: print("x ")
-
"检查列表是否包含和确切的顺序"...你到底想要什么?断言 mylist 与引用完全相同,或者 mylist 中的所有元素都在引用中,或者它们在引用中的顺序相同,但引用中可能还有其他元素,或者元素的集合mylist 中的元素集是否等于引用中的元素集?
-
是的,断言 myList 包含 [1,2,3,4,5,6]。顺序并不重要,因为无论如何都会对列表进行排序。因此,如果我将列表设置为 myList = [1,2,3,4,5,6],如果 myList 设置为此,我希望执行一些代码。
-
仅在您没有多余元素的情况下。考虑使用集合。就这么简单:
(set(mylist)==set([1,2,3,4,5,6]))
标签: python list integer comparison