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,我有一个元组列表。我想选取列表中的每个元组,并将其与我定义的另一个元组进行比较 我使用的代码如下 list1 = [(3, 4), (4, 5), (5, 6)] for item in list1: if list1[item] == (4,5) print ("OK") 但它说列表索引必须是整数或切片。如果我想将列表中的每个元组与另一个元组进行比较,我应该如何编码 请帮帮我 您可以通过以下方式实现 list1 = [(3, 4), (4, 5), (5, 6)] for

我有一个元组列表。我想选取列表中的每个元组,并将其与我定义的另一个元组进行比较

我使用的代码如下

list1 = [(3, 4), (4, 5), (5, 6)]
for item in list1:
   if list1[item] == (4,5)
      print ("OK")
但它说列表索引必须是整数或切片。如果我想将列表中的每个元组与另一个元组进行比较,我应该如何编码


请帮帮我

您可以通过以下方式实现

list1 = [(3, 4), (4, 5), (5, 6)]
for item in range(len(list1)):
    if list1[item] == (4,5):
        print ("OK")
    else:
        continue

你可以通过以下方法实现它

list1 = [(3, 4), (4, 5), (5, 6)]
for item in range(len(list1)):
    if list1[item] == (4,5):
        print ("OK")
    else:
        continue

您可以只测试元组(
(4,5)
,在下面的示例中)是否在列表中:

if (4, 5) in list1:
    print('OK')
不需要显式循环

如果要检查多个元组,我建议您使用s:

cmp=set((4,5,5,6)))
如果cmp<设置(列表1):
打印('确定')

这将检查两个元组是否在原始列表中至少出现一次。

您可以测试元组(
(4,5)
,在下面的示例中)是否在列表中:

if (4, 5) in list1:
    print('OK')
不需要显式循环

如果要检查多个元组,我建议您使用s:

cmp=set((4,5,5,6)))
如果cmp<设置(列表1):
打印('确定')
这将检查两个元组是否在原始列表中至少出现一次。

请尝试以下操作:

list1 = [(3, 4), (4, 5), (5, 6)]
for item in list1:
    if item == (4,5):
        print ("OK")
试试这个:

list1 = [(3, 4), (4, 5), (5, 6)]
for item in list1:
    if item == (4,5):
        print ("OK")

另一种解决方案:

for i in list1:
    if i==(4,5):
        print("Ok")
    else:
        ....

另一种解决方案:

for i in list1:
    if i==(4,5):
        print("Ok")
    else:
        ....

如果只有一个元组要检查,则不需要循环。如果

tpl = (4,5) # Single user defined tuple
if tpl in list1:
    print ("OK")
如果要检查多个元组

tuplst = [(3,4), (1,2)] # List of tuples
list1 = [(3, 4), (4, 5), (5, 6)]

for tpl in tuplst:
    if tpl in list1:
        print ("OK")

代码中的问题是,当您执行
list1[item]
时,您试图执行
list1[(3,4)]
,这不是索引列表的正确方法,因此您获得了
索引器

如果只有一个元组要检查,则不需要执行循环。如果

tpl = (4,5) # Single user defined tuple
if tpl in list1:
    print ("OK")
如果要检查多个元组

tuplst = [(3,4), (1,2)] # List of tuples
list1 = [(3, 4), (4, 5), (5, 6)]

for tpl in tuplst:
    if tpl in list1:
        print ("OK")


代码中的问题是,当您执行
list1[item]
时,您正在尝试执行
list1[(3,4)]
这不是为列表编制索引的正确方法,因此您得到了
索引器

请使用正确的缩进重新发送并发送回溯。错误消息的原因是,您希望列表中的项目设置
:将
项目
设置为一系列数字,然后用作列表中的下标
list1[项目]
。但是,
中的
并不是这样工作的。第一次通过循环时,
item
不是
0
,而是
list1[0]
。这就是为什么解释器抱怨它需要一个整数:
list1[item]
list1[(4,5)]
相同。你真正想要的是
(4,5)
。因此,正如一个答案所指出的,将
list1[item]
更改为
item
@BoarGules——这是一个很好的解释。。。我明白了,多亏了你!我仍然是python初学者,您的想法启发了我。请使用正确的缩进重新发送并发送回溯。错误消息的原因是,您希望列表中的项:
设置
item
为一系列数字,然后在
list1[item]
中用作列表下标。但是,
中的
并不是这样工作的。第一次通过循环时,
item
不是
0
,而是
list1[0]
。这就是为什么解释器抱怨它需要一个整数:
list1[item]
list1[(4,5)]
相同。你真正想要的是
(4,5)
。因此,正如一个答案所指出的,将
list1[item]
更改为
item
@BoarGules——这是一个很好的解释。。。我明白了,多亏了你!我仍然是python初学者,您的想法启发了我。在python中有更好的方法来循环容器。例如,您可以对列表1中的tup执行
没错,这是最快想到的解决方案。介意在另一个答案中发布这个吗?我很乐意投它一票up@Cut7er我感谢你的努力!有更好的方法可以在Python中循环容器。例如,您可以对列表1中的tup执行
没错,这是最快想到的解决方案。介意在另一个答案中发布这个吗?我很乐意投它一票up@Cut7er我感谢你的努力!Thanx很多。取决于实际的程序,如果您想重复,这将无法按预期工作。@SVengat不确定我是否理解。。。什么会被重复,因此不起作用?如中所示,如果您希望每次都打印(“确定”),则此程序将不适用。取决于实际程序,如果您希望重复,则无法按预期工作。@SVengat不确定我是否理解。。。什么会被重复,因此不起作用?如中所示,如果您想为每次事件打印(“确定”),此程序将不适用。