假设我们有一个这样的contact_list:
[["Joey", 30080],["Miranda"],["Lisa", 30081]]因此,本质上"Miranda“没有邮政编码,但对于我想定义的函数,我希望它自动检测到邮政编码,并将"None”添加到她的值槽中,如下所示:
{
"Joey": 30080,
"Miranda": None,
"Lisa": 30081
}到目前为止,我有这个,它只是将列表转换为字典:
def user_contacts(contact_list):
dict_contact = dict(contact_list)
print(dict_contact)我不确定我从哪里开始,就像在代码中为"Miranda“添加None一样。目前,我只得到一个错误,说第一个元素("Miranda")需要两个长度而不是一个长度。
最后,我只想在已定义的函数: user_contacts中传递一个类似上面的列表,并再次能够将上面的字典作为输出。
user_contacts([["Joey", 30080],["Miranda"],["Lisa", 30081]]) 发布于 2020-05-20 18:48:31
所以这就是你能做的。您可以检查列表中某个元素的len是否符合预期(在本例中,名称和邮政编码为2)。然后如果它没有达到预期,你可以添加"none":
contacts = [["Joey", 30080], ["Miranda"], ["Lisa", 30081]]
contacts_dict = {}
for c in contacts:
if len(c) < 2:
c.append('None')
contacts_dict.update({c[0]: c[1]})
print(contacts_dict)输出结果为:
{'Joey': 30080, 'Miranda': 'None', 'Lisa': 30081}发布于 2020-05-20 18:48:15
试试这个:
def user_contacts(contact_list):
dict_contact = dict((ele[0], ele[1] if len(ele) > 1 else None) for ele in
contact_list)
print(dict_contact)https://stackoverflow.com/questions/61910842
复制相似问题