【发布时间】:2021-05-30 08:00:55
【问题描述】:
嗨,我对 python 不是很了解。我想将数字插入到多维数组 (c) 中,数字之间的最大差异为 0.21%。但是,我想将彼此不同 0.21 的数字的其他相关数字放入同一个数组中。
nums = sorted([47255, 47343, 47865, 47904, 48000, 48001], reverse=True)
i = 0
b = 1
c = []
while i < len(nums):
while b < len(nums) - i:
a = ((nums[i] - nums[i+b]) / nums[i+b]) * 100
if a < 0.21:
if (nums[i] in x for x in c):
c.append([])
c[i].append(str(nums[i]))
c[i].append(str(nums[i + b]))
else:
c.append(str(nums[i]))
c.append(str(nums[i + b]))
c.append([])
b = b + 1
b = 1
i = i + 1
print(c)
结果:
[['48001', '48000', '48001', '47904'], ['48000', '47904'], ['47904', '47865'], [], ['47343', '47255']]
我想要什么
[['48001', '48000', '47904', '47865'], ['47343', '47255']]
(48001 48000 最大差异 %0.21 但 47865 之间的差异更大 %0.21 48001)但是 47865 .21 47904 .21 48000 而这也是最大 .21 48001 所有这些数字都必须在 c 数组的索引 1 中。
47343 不是最大差异 .21 47865 那么这也应该在第二个索引中。
47343 最大 %0.21 差异 47255
c = [['48001', '48000', '47904', '47865'], ['47343', '47255']]
img please look 对不起,我的英语不好。
【问题讨论】:
标签: python list multidimensional-array find