如何用Python循环创建含40组指定键值对的字典
搞定你的Python字典生成问题!
嘿,我来帮你解决这个字典创建的困惑~ 核心就是把你现有的循环逻辑和键的生成、值的存储结合起来就行,咱们一步步来:
第一步:生成符合要求的键
你需要的键是a1到d10,共40个,刚好对应40次循环。我们可以用循环索引自动生成这些键:
- 字母部分:循环索引从0到39,每10次循环换一个字母(a→b→c→d),用
chr(ord('a') + i//10)就能实现——i//10会给出0、1、2、3,对应a、b、c、d。 - 数字部分:每组的数字是1到10,用
i%10 +1就好——i%10得到0-9,加1后就是1-10,完美匹配每组的数字后缀。
第二步:把循环和字典存储结合
这里要注意顺序:先把当前的x、y值存入字典,再执行x、y的修改,这样a1就会对应你初始的(200,202),a2对应第一次循环修改后的(200,286),刚好符合你的需求。
完整代码
# 初始化空字典 my_dictionary = {} # 初始x、y值 x = 200 y = 202 # 循环40次,索引i从0到39 for i in range(40): # 生成当前键:比如i=0→'a1',i=9→'a10',i=10→'b1'... current_key = f"{chr(ord('a') + i // 10)}{i % 10 + 1}" # 将当前x、y以元组形式存入字典 my_dictionary[current_key] = (x, y) # 执行你原来的x、y更新逻辑 if y != 202 + 9 * 84: y += 84 else: x += 100 y = y - 9 * 84 # 可以打印几个键验证一下 print(my_dictionary['a1']) # 输出 (200, 202) print(my_dictionary['a2']) # 输出 (200, 286) print(my_dictionary['d10']) # 对应第40次循环的最终值
为啥这么写?
- 用f-string拼接键名,简单直接,不用手动写40个键;
- 先存值再修改x、y,确保每个键对应你想要的那次循环的x、y值;
- 你的原有逻辑完全保留,保证x、y的变化符合你预期的规律。
运行这段代码后,my_dictionary就是你想要的包含40组键值对的字典啦!
内容的提问来源于stack exchange,提问作者Grass
相关产品推荐
相关产品推荐

