gpt4 book ai didi

python - 在 python 中合并可变长度列表

转载 作者:行者123 更新时间:2023-11-28 21:48:16 24 4
gpt4 key购买 nike

我有一个字典 d 有 100 个键,其中的值是可变长度列表,例如

 In[165]: d.values()[0]
Out[165]:
[0.0432,
0.0336,
0.0345,
0.044,
0.0394,
0.0555]

In[166]: d.values()[1]
Out[166]:
[0.0236,
0.0333,
0.0571]

我想做的是:对于 d.values() 中的每个列表,我想将值组织到 10 个容器中(如果它满足标准,例如介于 0.03 和 0.04、0.04 和 0.05 之间,等等)。

我希望最终得到的是看起来与 d 完全一样的东西,但 d.values()[0] 不是一个列表数字,我希望它是一个列表列表,如下所示:

 In[167]: d.values()[0]
Out[167]:
[[0.0336,0.0345,0.0394],
[0.0432,0.044],
[0.0555]]

每个键仍将与相同的值相关联,但它们将被组织到 10 个容器中。

我一直对嵌套的 for 循环和 if/elses 等着迷。解决这个问题的最佳方法是什么?

编辑:大家好。只是想让你知道我解决了我的问题。我使用了@Brent Washburne 答案的变体。感谢您的帮助!

最佳答案

def bin(values):
bins = [[] for _ in range(10)] # create ten bins
for n in values:
b = int(n * 100) # normalize the value to the bin number
bins[b].append(n) # add the number to the bin
return bins

d = [0.0432,
0.0336,
0.0345,
0.044,
0.0394,
0.0555]
print bin(d)

结果是:

[[], [], [], [0.0336, 0.0345, 0.0394], [0.0432, 0.044], [0.0555], [], [], [], []]

关于python - 在 python 中合并可变长度列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35639028/

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