如何将枚举列表数值作为键,构建数字映射字母的Python字典?
解决方案:把enumerate的键值对存入字典
嘿,你已经走对方向啦!现在只需要把enumerate生成的数字和字母对应关系存入n_dic字典就行,甚至还能简化你原来的代码步骤~
方式1:修改你现有代码的循环逻辑
你原来的代码已经用enumerate拿到了正确的数字和字母,只是没把它们放进字典里。把print语句改成字典赋值就好,而且其实不需要额外的s_dic列表,直接遍历string.ascii_lowercase就行:
import string n_dic = {} ## New Dictionary to contain numbers:letters # 直接遍历string.ascii_lowercase,用enumerate指定起始值为1 for number, letter in enumerate(string.ascii_lowercase, start=1): n_dic[number] = letter # 把键值对存入字典 # 验证结果 print(n_dic) # 输出:{1: 'a', 2: 'b', 3: 'c', ..., 26: 'z'}
方式2:用字典推导式一步完成(更简洁)
Python的字典推导式可以让你用一行代码直接生成目标字典,既简洁又高效:
import string n_dic = {num: char for num, char in enumerate(string.ascii_lowercase, start=1)} # 同样可以打印验证结果 print(n_dic)
两种方式最终都会得到你想要的{1:a, 2:b,…,26:z}结构的字典,选哪种都可以~
内容的提问来源于stack exchange,提问作者Barb
相关产品推荐
相关产品推荐

