Python:列表中的 UUID

Python: UUID in a list

我有一个包含 uuid4 的列表。我也有一个字符串。例如:

list = [UUID('79d8f4b7-06a0-41d1-99d6-dd8c5308875f'), 'example1', 'example2']
string = 79d8f4b7-06a0-41d1-99d6-dd8c5308875f

但是当我尝试时:

if string in list:
    print("It's in!")
else:
    print("It's not!")

输出总是"it's not"。

我知道可能存在数据类型错误,但我自己似乎找不到。感谢任何帮助,我相信这个简单的问题会在几秒钟内得到修复,在此先感谢。

当我输入 print list[0] 时,输出是这样的:79d8f4b7-06a0-41d1-99d6-dd8c5308875f。但即使我尝试说“..in list[0]”,它仍然不起作用。

您需要使用 str() 函数将 uuid 转换为字符串。

>>> import uuid
>>> x=uuid.uuid4()
>>> str(x)
'924db46b-5c51-4330-861c-363570ea9ef6'

并且为了检查你需要将字符串转换为 uuid ,使用 uuid.UUID 但是因为这个函数接受字节你需要将你的字符串的字节传递给它:

>>> my_list = [x, 'example1', 'example2']
>>> uuid.UUID(bytes=x.bytes) in my_list
True