繁体   English   中英

如何将该字典转换为列表?

[英]How do I convert this dictionary into a list?

说我有这样的字典:

{'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']

如果要获取密钥作为列表,请使用:

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']

如何使用列表理解:

[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']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM