说我有这样的词典:
{'AccountNum': '873627867348', 'userID': 'abc'}
{'AccountNum': '873627867348', 'userID': 'def'}
{'AccountNum': '038683828978', 'userID': 'ghi'}
{'AccountNum': '581889263266', 'userID': 'jkl'}
{'AccountNum': '581889263266', 'userID': 'mno'}
{'AccountNum': '581889263266', 'userID': 'pqr'}
我需要将其转换为list
,以便打印键和值。实际上我使用Django作为Web框架。我需要返回一个列表并将其呈现到我的模板页面,在那里我将在表格的行中显示用户ID和accountnum。
首选输出样本:
['AccountNum', '873627867348', 'userID', 'abc']
答案 0 :(得分:3)
如果您想将密钥作为列表,请使用:
list( {'AccountNum': '873627867348', 'userID': 'abc'} )
#['AccountNum', 'userID']
表示值:
list( v for k, v in {'AccountNum': '873627867348', 'userID': 'abc'}.items() )
#['873627867348', 'abc']
两者:
list( {'AccountNum': '873627867348', 'userID': 'abc'}.items() )
#[('AccountNum', '873627867348'), ('userID', 'abc')]
如果你不喜欢使用元组这里采用多于一行的方法:
def dictToList(d):
l = []
for k, v in d.items():
l.append(k)
l.append(v)
return l
dictToList({'AccountNum': '873627867348', 'userID': 'abc'})
# ['AccountNum', '873627867348', 'userID', 'abc']
答案 1 :(得分:0)
使用列表理解如何:
[a for a in(b for a in data.items() for b in a)]
输入:
data={'AccountNum': '873627867348', 'userID': 'abc'}
输出:
['userID', 'abc', 'AccountNum', '873627867348']
您也可以使用正则表达式
import re
data={'AccountNum': '873627867348', 'userID': 'abc'}
re.findall(r"\'(.*?)\'", str(data) )
输出:
['userID', 'abc', 'AccountNum', '873627867348']