如何在数组末尾添加元素?

时间:2020-05-23 15:21:15

标签: python numpy

我有这段代码为所有从0到512的数字创建一个二进制表示的数组,我想在每个数组的末尾添加一个随机值。随机值可以是0或1。这是生成数组的代码:

import numpy as np
POP_SIZE = 50
def initialize_population():
    pixels = 9
    population = []
    for i in range(POP_SIZE):
        chromosome = np.array([list((np.binary_repr(x, pixels))) for x in range(2 ** pixels)], dtype=int)
        population.append(chromosome)
    return population

我知道我可以使用np.append(chromosome, np.random.randint(2)),但不知道如何与previos代码集成。

1 个答案:

答案 0 :(得分:1)

使用random.randint

import numpy as np
import random

POP_SIZE = 50
def initialize_population():
    pixels = 9
    population = []
    for i in range(POP_SIZE):
        chromosome = np.array([list(np.binary_repr(x, pixels)) + [random.randint(0, 1)] for x in range(2 ** pixels)], dtype=int)
        population.append(chromosome)
    return population
print(initialize_population()[0].shape)
(512, 10)