检查列表中的项目是否存在

时间:2021-07-02 09:12:35

标签: python postgresql

我有 UUID 列表 (block_list),想检查该列表中是否列出了一个特定的 UUID。

list(block_list)

Out[41]: 
[ ('f779e98c-a541-4ae2-afcb-b0da2e5bee24',),
 ('a005bc7b-c06d-48bf-8259-757d52c70330',),
 ('8af278b1-089e-40e9-a57d-856efe336c26',)]

为什么这给我一个假?

'8af278b1-089e-40e9-a57d-856efe336c26' in block_list 答案:错误

谢谢 罗伯特

3 个答案:

答案 0 :(得分:2)

因为 '8af278b1-089e-40e9-a57d-856efe336c26' 是一个字符串,但您的列表由元组组成

答案 1 :(得分:1)

它是错误的原因是因为您正在检查字符串是否在列表中。但是您的列表是元组列表。所以你必须检查列表中是否有任何特定的元组。

因此,您需要以下代码:

('8af278b1-089e-40e9-a57d-856efe336c26') in block_list

现在输出为真

答案 2 :(得分:0)

您应该在元组中传递一个字符串,不要传递原始字符串以查看它是否在列表中。这是一个简单的函数,它可以通过传递原始字符串并将其嵌套在带有尾随逗号的元组中来为您完成:

def check_string(string):
    if ((string, ) in my_list):
        return True
    else:
        return False

相关问题