我是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 protoctives的评论所示,只要记住OrderedDict
中的顺序是插入的顺序,与键的值无关。(python3dict
的排序也是如此)如果a
和b
具有相同的元素,但顺序不同,则生成的OrderedDict
将不相等,除非事先对a
和b
排序。你知道吗如果要比较两个
dict
无法轻松确定插入顺序的数据,则需要一个支持无序比较的数据结构。我没有你的数据,所以我得补一些。我从这个输入开始如您所见,
a
有一个额外的元素以9
开头。你知道吗修改字典构造代码,使值元组不是列表,因为dict值需要是可哈希的,以便下一步工作:
然后可以将字典转换为集合,以进行无序比较:
您可以使用set运算符来发现区别:
相关问题 更多 >
编程相关推荐