假设我有一个数组(不一定是正方形)
my_array = ['name_1', 3
'name_2', 2]
我想最终得到一个列表(或 numpy 数组等),length 3+2=5其中前三个位置被分配到'name_1',下一个 2 到'name_2'. 因此输出将是
['name_1', 'name_1', 'name_1', 'name_2', 'name_2']
这是我迄今为止所做的;请问有没有更好的方法来做到这一点?
import numpy as np
my_array = np.array([['name_1', 3], ['name_2', 2]])
l = []
for i in range(my_array.shape[0]):
x = [my_array[i, 0].tolist()] * np.int(my_array[i, 1])
l.append(x)
flat_list = [item for sublist in l for item in sublist]
print(flat_list)
打印:
['name_1', 'name_1', 'name_1', 'name_2', 'name_2']
谢谢!
一只萌萌小番薯
aluckdog
相关分类