如何实现create_username_dict函数将两个列表转为对应字典?
解决方案:将两个列表合并为姓名-用户名字典
直接用Python内置的zip()和dict()就能搞定,这俩函数搭配起来正好能把两个列表按对应位置配对成字典。
实现代码如下:
def create_username_dict(name_list, username_list): # 可选:添加长度校验,避免两个列表元素数量不匹配 if len(name_list) != len(username_list): raise ValueError("姓名列表和用户名列表的元素数量必须一致") return dict(zip(name_list, username_list))
原理说明
zip(name_list, username_list)会把两个列表中对应位置的元素两两配对,生成一个包含元组的迭代器,比如你的示例输入会生成("Ola Nordmann", "alejon"), ("Kari Olsen", "carli"), ("Roger Jensen", "hanri")这样的元组序列。dict()函数会把这些元组直接转换成键值对字典,元组的第一个元素作为键,第二个作为值。
测试验证
用你给出的输入测试:
name_list = ["Ola Nordmann", "Kari Olsen", "Roger Jensen"] username_list = ["alejon", "carli", "hanri"] print(create_username_dict(name_list, username_list))
输出结果:
{'Ola Nordmann': 'alejon', 'Kari Olsen': 'carli', 'Roger Jensen': 'hanri'}
(注:你示例里的输出姓名和输入不匹配,应该是笔误,函数会严格按输入列表的对应关系生成字典)
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

