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
我有一个包含 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