如果我有一本像这样的字典:
{'a': 1, 'b': 2, 'c': 3}
我怎么把它转换成这个?
[('a', 1), ('b', 2), ('c', 3)]
我怎么把它转化成这个?
[(1, 'a'), (2, 'b'), (3, 'c')]
如果我有一本像这样的字典:
{'a': 1, 'b': 2, 'c': 3}
我怎么把它转换成这个?
[('a', 1), ('b', 2), ('c', 3)]
我怎么把它转化成这个?
[(1, 'a'), (2, 'b'), (3, 'c')]
当前回答
>>> a={ 'a': 1, 'b': 2, 'c': 3 } >>> [(x,a[x]) for x in a.keys() ] [('a', 1), ('c', 3), ('b', 2)] >>> [(a[x],x) for x in a.keys() ] [(1, 'a'), (3, 'c'), (2, 'b')]
其他回答
这些是Python 3的重大变化。Python 2.x
Python3。x使用
dictlist = []
for key, value in dict.items():
temp = [key,value]
dictlist.append(temp)
对于Python 2.7使用
dictlist = []
for key, value in dict.iteritems():
temp = [key,value]
dictlist.append(temp)
d = {'John':5, 'Alex':10, 'Richard': 7}
list = []
for i in d:
k = (i,d[i])
list.append(k)
print list
Python3 dict.values()不返回列表。这是一个例子
mydict = {
"a": {"a1": 1, "a2": 2},
"b": {"b1": 11, "b2": 22}
}
print(mydict.values())
> output: dict_values([{'a1': 1, 'a2': 2}, {'b1': 11, 'b2': 22}])
print(type(mydict.values()))
> output: <class 'dict_values'>
print(list(mydict.values()))
> output: [{'a1': 1, 'a2': 2}, {'b1': 11, 'b2': 22}]
print(type(list(mydict.values())))
> output: <class 'list'>
>>> d = { 'a': 1, 'b': 2, 'c': 3 }
>>> list(d.items())
[('a', 1), ('c', 3), ('b', 2)]
对于Python 3.6及更高版本,列表的顺序是您所期望的。
在Python 2中,你不需要list。
[(k,v) for (k,v) in d.iteritems()]
and
[(v,k) for (k,v) in d.iteritems()]