Kaznachei Asked:2020-07-18 23:29:53 +0000 UTC2020-07-18 23:29:53 +0000 UTC 2020-07-18 23:29:53 +0000 UTC 遍历从特定键开始的键。蟒蛇字典 772 有以下代码: dic = {'A':213, 'B':1424, 'F':412, 'Gs':asf} for key in dic: print(key) 你如何从第二个键开始迭代它? 或者,例如,使用 key F? python 4 个回答 Voted Best Answer MaxU - stop genocide of UA 2020-07-19T00:14:02Z2020-07-19T00:14:02Z 在 Python 3.6 的 CPython 实现中,字典的元素保留了创建时给它们的顺序。这是语言标准不保证的实现细节。 从 Python 3.7 开始,这是任何 Python 实现的保证行为: dict 对象的插入顺序保存特性已被宣布为 Python 语言规范的官方部分。 因此,对于 Python 3.7+,您可以执行以下操作: In [6]: list(dic.keys())[2:] Out[6]: ['F', 'Gs'] 对于早期版本,您可以使用OrderedDict@Khachatur Sargsyan 已经建议您: In [9]: from collections import OrderedDict In [10]: odic = OrderedDict(dic) In [11]: list(odic.keys())[2:] Out[11]: ['F', 'Gs'] Хачатур Саркисян 2020-07-18T23:35:38Z2020-07-18T23:35:38Z Python 中的字典是无序的数据结构。通过散列访问密钥。这就是为什么你的问题没有根据。要实现类似的东西,请使用 OrderedDict 数据结构。 insolor 2020-07-18T23:58:54Z2020-07-18T23:58:54Z 如前所述,字典中的键没有特定的顺序。如果您需要按字典顺序遍历键,那么这个解决方案: 对键进行排序,然后遍历它们。在我们遇到 F 键之前,我们不打印任何内容。 dic = {'A': 213, 'B': 1424, 'F': 412, 'Gs': 'asf'} print_key = False for key in sorted(dic): if key == 'F': print_key = True if print_key: print(key) 结论: F Gs fuwiak 2020-07-19T04:13:20Z2020-07-19T04:13:20Z num_of_row = 2 for i, x in enumerate(dic): if i>=num_of_row: print(i,x)
在 Python 3.6 的 CPython 实现中,字典的元素保留了创建时给它们的顺序。这是语言标准不保证的实现细节。
从 Python 3.7 开始,这是任何 Python 实现的保证行为:
因此,对于 Python 3.7+,您可以执行以下操作:
对于早期版本,您可以使用
OrderedDict@Khachatur Sargsyan 已经建议您:Python 中的字典是无序的数据结构。通过散列访问密钥。这就是为什么你的问题没有根据。要实现类似的东西,请使用 OrderedDict 数据结构。
如前所述,字典中的键没有特定的顺序。如果您需要按字典顺序遍历键,那么这个解决方案:
对键进行排序,然后遍历它们。在我们遇到 F 键之前,我们不打印任何内容。
结论: