我正在尝试将名为 data 的 mxn 数组与 m 元素列表组合称为 cluster_data,这样列表 cluster_data 中的每个元素都被附加为 data 中每一行的最后一个元素。
举个例子,我想合并
data = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]]
cluster_data = [1,2,3,4,5]
这样
final_data = [[1,2,3,4,1],[5,6,7,8,2],[9,10,11,12,3],[13,14,15,16,4],[17,18,19,20,5]]
我已经编写了一些代码来执行此操作,但我希望采用更 Pythonic 的方式。
data_with_clusters = []
for i, row in enumerate(data):
row.append(cluster_data[i])
data_with_clusters.append(row)
到目前为止我最好的猜测是:
data_with_clusters = [row.append(cluster_data[i]) for i, row in enumerate(data)]
最佳答案
我认为这是最pythonic的方式
final_data = [i+[j] for i,j in zip(data, cluster_data)]
关于将列添加到数组的 Pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33402331/