【发布时间】:2021-09-24 03:07:22
【问题描述】:
我有以下问题
import random
a_list = range(0,64)
a = random.sample(a_list,16)
print(a)
所以我得到了 16 个随机数。
现在我想要进一步添加 16 个元素的随机集合中的每两个数字,即使每个数字都与其自身相加。
【问题讨论】:
我有以下问题
import random
a_list = range(0,64)
a = random.sample(a_list,16)
print(a)
所以我得到了 16 个随机数。
现在我想要进一步添加 16 个元素的随机集合中的每两个数字,即使每个数字都与其自身相加。
【问题讨论】:
如果您只想使用纯 Python 列表,解决方案可以是单行列表推导式。
sums_list = [n+m for n in a for m in a]
借助 Numpy,您可以使用广播。
import numpy as np
arr = np.array(a)
sums = arr[:, np.newaxis] + arr[np.newaxis, :]
sums_list = sums.flatten().tolist()
【讨论】:
set(a_list) - set(sums_list).
你能写下你想要达到的目标吗?
【讨论】: