gpt4 book ai didi

python - 在python中迭代期间创建 'dynamic list'

转载 作者:行者123 更新时间:2023-11-30 22:04:20 25 4
gpt4 key购买 nike

背景

设一组整数

trialinteg = [231,355,112,1432,2434,5235,7896,7776,27421,42342]

然后可以将它们分类为模 6 的不同等价类

问题

我们能否创建一个算法将所有这些整数分类到各自的等价类中并将结果存储在 python 的字典中?

例如

d = {"class0": [112,1432,..], "class1": [231,...], ...}

更重要的是,我们可以让 d 随着我们定义等价类的整数(在本例中为 6)的变化而改变它的大小和键的名称吗?

进展

可以将等价类 0 模 6 的所有整数存储在列表中。但目前尚不清楚如何创建一个“动态”字典,当相关整数发生变化(例如从 6 到 121)时调整其大小和键的名称。

moduloclasszero=[]
for num in trialinteg:
while num % 6 != 0:

print(f"{num} is not of class 0")
print(f"But {num} is of class {num % 6}")
print("now proceed to restore it to 0")

num = num + (6-(num % 6))
else:
print(f"{num} is of class 0")
moduloclasszero.append(num)

最佳答案

您可以使用collections.defaultdict :

from collections import defaultdict

trialinteg = [231,355,112,1432,2434,5235,7896,7776,27421,42342]

d = defaultdict(list)

for x in trialinteg:
d[f'class{x % 6}'].append(x)

print(d)
# defaultdict(<class 'list'>, {'class3': [231, 5235], 'class1': [355, 27421], 'class4': [112, 1432, 2434], 'class0': [7896, 7776, 42342]})

关于python - 在python中迭代期间创建 'dynamic list',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53324803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com