将列添加到数组的 Pythonic 方法

标签 python arrays list

我正在尝试将名为 datamxn 数组与 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/

相关文章:

python - 将列表分成几乎相等的部分并返回边界

c# - 在 C# 中使用 linq 从列表中的每一行获取第 n 个单词

python - += 在 python 中有多个变量

python - python 中的成对 vector

c++ - 在不知道长度的情况下找到数组的中间

java - 从 Java 的角度看 C 指针和数组的教程

python - 如何在 Python 中第一次出现字母时拆分字符串?

python - 使用 Python 以编程方式检测 Windows XP 上的系统代理设置

java - 获取名称列表/数组并计算每个唯一名称列出的次数

Python:如何在字符串列表中查找匹配最多的字符串