假设我有“username1”和“username2”
如何将这两个用户名组合在一起以生成唯一值?
如果首先输入 username2 ,则无论它们如何组合,该值都应该相同,反之亦然,这两个名称应始终组合成相同的唯一值。字符串长度将不起作用,因为其他用户名可以具有相同的长度。
有没有一种简单的方法可以做到这一点或一种技术?
集合是无序的,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)
| 归档时间: |
|
| 查看次数: |
330 次 |
| 最近记录: |