tes*_*ter 2 python uuid compare list
我有一个包含 uuid4 的列表。我也有一个字符串。例如:
list = [UUID('79d8f4b7-06a0-41d1-99d6-dd8c5308875f'), 'example1', 'example2']
string = 79d8f4b7-06a0-41d1-99d6-dd8c5308875f
Run Code Online (Sandbox Code Playgroud)
但是当我尝试:
if string in list:
print("It's in!")
else:
print("It's not!")
Run Code Online (Sandbox Code Playgroud)
输出总是“它不是”。
我知道可能存在数据类型错误,但我自己似乎找不到。任何帮助表示赞赏,我相信这个简单的事情会在几秒钟内得到修复,提前致谢。
当我输入 print list[0] 时,这是输出:79d8f4b7-06a0-41d1-99d6-dd8c5308875f。但即使我尝试说“..in list[0]”,它仍然不起作用。
您需要uuid使用str()function转换为字符串。
>>> import uuid
>>> x=uuid.uuid4()
>>> str(x)
'924db46b-5c51-4330-861c-363570ea9ef6'
Run Code Online (Sandbox Code Playgroud)
为了检查,您需要将字符串转换为 uuid ,uuid.UUID但由于此函数接受字节,您需要将字符串的字节传递给它:
>>> my_list = [x, 'example1', 'example2']
>>> uuid.UUID(bytes=x.bytes) in my_list
True
Run Code Online (Sandbox Code Playgroud)