Rag*_*gav 2 python dictionary list python-2.7
这是列表问题的继续,但在这里我想保留dict的顺序
listData=[('audioVerify', '091;0'), ('imageVerify', 'icon091.gif'), ('bufferVerify', '\x01?')]
methodList = {}
for item in listData:
methodList.setdefault(item[0],[]).append(item[1:])
for method in methodList:
arguments = methodList[method]
s = [method,arguments]
print s
Run Code Online (Sandbox Code Playgroud)
当我迭代列表时,它给出了以下内容
['audioVerify', [('091;0',)]]
['bufferVerify', [('\x01?',)]]
['imageVerify', [('icon091.gif',)]]
Run Code Online (Sandbox Code Playgroud)
但是我可以保留订单的可能性如下:
['audioVerify', [('091;0',)]]
['imageVerify', [('icon091.gif',)]]
['bufferVerify', [('\x01?',)]]
Run Code Online (Sandbox Code Playgroud)
我有什么医生ordered
:OrderedDict
从示例:
>>> from collections import OrderedDict
>>> # regular unsorted dictionary
>>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}
>>> # dictionary sorted by key
>>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])
>>> # dictionary sorted by value
>>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])
>>> # dictionary sorted by length of the key string
>>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))
OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])
Run Code Online (Sandbox Code Playgroud)
如果您有旧版本的python,请参考其他问题.