我有一个数组,其中有一对数字代表模型域中的行、列值。我试图添加层值,以获得一个层、行、列的列表。
我有一个数组rowcol:
array([(25, 65), (25, 66), (25, 67), (25, 68), (26, 65), (26, 66),
(26, 67), (26, 68), (26, 69), (27, 66), (27, 67), (27, 68),
(27, 69), (28, 67), (28, 68)], dtype=object)
我想在每对上加一个8
array([(8, 25, 65), (8, 25, 66), (8, 25, 67), (8, 25, 68), (8, 26, 65), (8, 26, 66),
(8, 26, 67), (8, 26, 68), (8. 26, 69), (8, 27, 66), (8, 27, 67), (8, 27, 68),
(8, 27, 69), (8, 28, 67), (8, 28, 68)], dtype=object)
我创建了一个与rowcol长度相同的新数组(层),并将2压缩为:
layrowcol =列表(压缩(层,行列))
结果是:
[(8, (25, 65)), (8, (25, 66)), (8, (25, 67)), (8, (25, 68)), (8, (26, 65)), (8, (26, 66)), (8, (26, 67)), (8, (26, 68)), (8, (26, 69)), (8, (27, 66)), (8, (27, 67)), (8, (27, 68)), (8, (27, 69)), (8, (28, 67)), (8, (28, 68))]
所以它有点工作,但不完全。有没有一种方法可以将它们组合起来,并省去不需要的括号,或者有一些更好的方法可以在不使用zip()的情况下将层值添加到每个对中。任何帮助都是值得感谢的。
2条答案
按热度按时间xdyibdwo1#
您可以使用
numpy.insert
。输出:
如果你想回到
tuple
s的list
。col17t5w2#
你可以试试这个。
元组前面的
*
操作符将元组解包成它的组成部分。我使用列表解析来迭代输入数组的每个元素,并从它创建一个新的元组,以8开头。输出: