我是Python的初学者。不知道如何在字典里设置顺序。我搜索了一下,知道可以通过from collections import OrderedDict
完成,但不知道如何使用它。我试图在下面提到的代码中比较两个字典,但我没有按顺序得到输出
d = { k[0]: k[1:] for k in a }
d2= { k[0]: k[1:] for k in b }
p = {i:j for i,j in d2.items() if i not in d}
q = {i:j for i,j in d.items() if i not in d2}
你知道怎么做吗
更新问题:
i have a nested list . How to get each list of nested list in next line ?
[['Eth116/1/12 sales connected 1 full 10G Fabric Exte'], ['Eth116/1/13 marketing connected 190 full 100 ']]
预期产出:
Eth116/1/12 sales connected 1 full 10G Fabric Exte
Eth116/1/13 marketing connected 190 full 100
字典是无序的,除了编写自己的
dict
子类(不推荐)之外,没有什么可以改变这一点。使用OrderedDict
将起作用,如hiro Protagents的评论所示,只要您记住OrderedDict
中的顺序是插入的顺序,并且与键的值无关。(Python 3dict
的顺序也是如此)如果a
和b
具有相同的元素,但顺序不同,则生成的OrderedDict
将不相等,除非事先对a
和b
进行排序如果要比较两个
dict
而不能轻松确定插入顺序,则需要支持无序比较的数据结构。我没有你的数据,所以我不得不补充一些。我从这个输入开始如您所见,
a
有一个额外的元素以9
开头修改字典构造代码,使值元组不是列表,因为dict值需要可散列,以便下一步工作:
然后,您可以将字典转换为集合,以进行无序比较:
您可以使用集合运算符来发现差异:
相关问题 更多 >
编程相关推荐