python - 如何从 2 个字符串生成唯一键?
问题描述
假设我有“username1”和“username2”
如何将这两个用户名组合在一起以生成唯一值?
如果首先输入 username2,则无论它们如何组合,该值都应该相同,反之亦然,这两个名称应该始终组合成相同的唯一值。字符串长度不起作用,因为其他用户名可以具有相同的长度。
有没有一种简单的方法来做到这一点或一种技术?
解决方案
集合是无序的,并且 Python 具有可散列的不可变集合类型,假设您对唯一键的要求是它可以用作 dict 键:
def key(a, b):
return frozenset([a, b])
d = {}
d[key("foo", "bar")] = "baz"
print(d[key("bar", "foo")])
您还可以创建一个排序的元组:
def key(a, b):
return tuple(sorted([a, b]))
d = {}
d[key("foo", "bar")] = "baz"
print(d[key("bar", "foo")])
推荐阅读
- javascript - 如何在 Firebase 动态表旁边添加一个按钮
- rust - 有没有办法在 Rust 中的每个函数调用之前和之后注入对用户函数的调用?
- javascript - react-bootstrap-multiselect 在 react-bootstrap 4 中无法正常工作
- python - 如何在keras的Model.fit方法中传递validation_data
- java - 如何从多个具有相同名称的提交按钮中进行选择(HtmlUnit,Java)
- javascript - 如何从mxgraph中的子单元格获取父单元格
- java - 使 RelativeLayout 适合所有屏幕尺寸
- react-native - 我在 chrome 扩展中看不到我在 Redux Devtools 中的操作
- jupyter-notebook - 无法打开“编辑键盘快捷键”
- gcc - 为什么我们不能直接从栈帧移动 1 个字节到寄存器?