gpt4 book ai didi

python - 按顺序查找字段

转载 作者:太空宇宙 更新时间:2023-11-03 18:57:54 25 4
gpt4 key购买 nike

假设我有一个查找列表和一本字典:

>>> l=['A','B','C']
>>> di={'A':3,'V':3,'M':7,'B':6,'D':2,'C':1}

我通过提取值并附加“~”来形成查找键

>>> '~'.join(str(di.get(key)) for key in l)

由于此键将构成搜索的核心 - 我需要确认它将始终返回相同的字符串。
到目前为止,我的测试没有显示任何其他情况。
任何预警都会有用。

最佳答案

是的,这将产生始终以相同顺序出现的结果,除非您更改列表。集合和字典是无序的,即使它们看起来有一个您可以依赖的顺序,但它们却没有。有一个明确的顺序,但你不能指望它是你所期望的——例如,在 Python 3.3 中,每次启动解释器时顺序都会改变,因为散列中添加了盐。

但是,元组和列表具有已定义的顺序。除非您更改列表或用不同的元组替换元组,否则您使用的键将始终采用相同的顺序。

您所写的内容相当于:

result = []

# l has a consistent order, so the result will be in the order of l
for key in l:
result.append(str(di.get(key)))

'~'.join(result)

..如果列表中的值不是字典中的键,它将失败并出现 TypeError,因此您也不会得到像“3~~1”这样的字符串。

关于python - 按顺序查找字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16869776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com