技术问询:用Dictionary comprehension生成1-25间可被2-9整除的整数列表(含重复条目)
用字典推导式实现需求的解决方案
嘿,这事儿不难!咱们直接用字典推导式就能搞定你要的结果——生成一个以2-9为键,每个键对应1到25中能被它整除的所有数字的字典,完全满足你说的“每个可被整除的数对应多个条目”的要求(比如8会出现在2、4、8的列表里)。
实现代码
# 字典推导式:键是2-9的除数,值是对应能整除的1-25的数字列表 divisible_dict = {divisor: [num for num in range(1, 26) if num % divisor == 0] for divisor in range(2, 10)} # 打印结果看看 print(divisible_dict)
代码解释
- 外层的
{divisor: ... for divisor in range(2, 10)}:遍历2到9的每个数字作为字典的键。 - 内层的列表推导式
[num for num in range(1,26) if num % divisor == 0]:筛选出1到25中能被当前divisor整除的所有数字,作为该键对应的值。
输出示例
运行代码后,你会得到这样的结果(格式整理后):
{ 2: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24], 3: [3, 6, 9, 12, 15, 18, 21, 24], 4: [4, 8, 12, 16, 20, 24], 5: [5, 10, 15, 20, 25], 6: [6, 12, 18, 24], 7: [7, 14, 21], 8: [8, 16, 24], 9: [9, 18] }
你看,8确实出现在2、4、8对应的列表里,完全符合你的要求~
内容的提问来源于stack exchange,提问作者Sel_Python
相关产品推荐
相关产品推荐

