如何从 2 个字符串生成唯一键?

Zac*_*son 0 python

假设我有“username1”和“username2”

如何将这两个用户名组合在一起以生成唯一值?

如果首先输入 username2 ,则无论它们如何组合,该值都应该相同,反之亦然,这两个名称应始终组合成相同的唯一值。字符串长度将不起作用,因为其他用户名可以具有相同的长度。

有没有一种简单的方法可以做到这一点或一种技术?

Ry-*_*Ry- 7

集合是无序的,Python 有一个可散列的不可变集合类型,假设您对唯一键的要求是它可以用作字典键:

def key(a, b):
    return frozenset([a, b])

d = {}
d[key("foo", "bar")] = "baz"
print(d[key("bar", "foo")])
Run Code Online (Sandbox Code Playgroud)

您还可以创建一个排序的元组:

def key(a, b):
    return tuple(sorted([a, b]))

d = {}
d[key("foo", "bar")] = "baz"
print(d[key("bar", "foo")])
Run Code Online (Sandbox Code Playgroud)