对于初学者,我们考虑两个不同的浮点值a
和b
以及一个整数d
。我想创建一个包含
numpy.array
(b, a, a, ..., a)
其中向量的长度为d+1
。例如,d=2
,我想得到
a = 3.14
b = 2.71
numpy.array([
[b, a, a],
[a, b, a],
[a, a, b],
])
虽然这种情况很容易手工生成,但对我来说更有趣的是
的排列(b, b, a, a, ..., a)
(b, c, a, a, ..., a)
(b, b, b, a, ..., a)
(其中c
是与a
和b
不同的浮点数。
第一个将从
开始numpy.array([
[b, b, a, ..., a],
[b, a, b, ..., a],
...
[b, a, ..., a, b],
[a, b, b, a, ..., a],
...
])
任何提示?
答案 0 :(得分:2)
您可以使用itertools.permutations
执行此任务。
from itertools import permutations
a = [1.0, 2.0, 2.0]
perms = set(permutations(a))