【发布时间】:2023-04-05 03:04:01
【问题描述】:
我的代码处理字典,大多数字典采用以下格式:
#Default
d = {0:'a', 1: 'b', 2:'c', 3:'d', 4: 'e', 5:'f', 6:'g', 7:'h', 8:'i', 9:'j', 10:'k'}
然而,在某些情况下,字典会遗漏键值对并采用以下格式:
d1 = {0:'a', 1: 'b', 2:'c', 3:'d', 4: 'e', 6:'g', 7:'h', 8:'i', 9:'j', 10:'k'}
d2 = {1: 'b', 2:'c', 4: 'e', 6:'g', 7:'h', 8:'i', 9:'j'}
如何重新排列这些字典中的键以遵循如下预期输出中所示的顺序格式?
expected1 = {0:'a', 1: 'b', 2:'c', 3:'d', 4: 'e', 5:'g', 6:'h', 7:'i', 8:'j', 9:'k'}
expected2 = {0: 'b', 1:'c', 2: 'e', 3:'g', 4:'h', 5:'i', 6:'j'}
【问题讨论】:
-
像你描述的那样的字典基本上是一个
list,键是索引位置。 -
你想要做什么的目标是什么?当你创建一个字典时,键是有语义的,不建议改变它,正如@Ma0 所说,列表更合适
-
目标是将实例、对象类和其他指标配对作为键的值作为输出。一旦检测到不需要对象类,就会从字典中丢弃键值。稍后在处理过程中,从值中的其他元素中使用了其他一些元素,重要的是要保持这些元素的顺序。
标签: python dictionary key key-value sequential