Python将键值转换为新形式

时间:2015-07-05 22:38:25

标签: python

我有:

['key',{'key1':val1, 'key2':val2, 'key3':val3}] 

如何到达:

[('key1','key'), ('key2','key'), ('key3','key')]

我会使用列表理解,但我在这里。

这是我到目前为止所做的:

[(k,j) for (k,v) in (j,(k,v))]

2 个答案:

答案 0 :(得分:1)

试试这个:

lst = ['key',{'key1':val1, 'key2':val2, 'key3':val3}]
[(other_key, lst[0]) for other_key in lst[1]]

由于dict未订购,因此未承诺订单,因此请考虑使用sorted

答案 1 :(得分:0)

使用zip和itertools:

l = ['key',{'key1':"val1", 'key2':"val2", 'key3':"val3"}]

from itertools import repeat

print(list(zip(l[1],repeat(l[0]))))
[('key3', 'key'), ('key2', 'key'), ('key1', 'key')]