【问题标题】:shortcuts in append function in pythonpython中追加函数的快捷方式
【发布时间】:2016-12-20 00:24:24
【问题描述】:

我在这里编程新手,很抱歉这些基本问题。 我正在处理具有向量和很多附加函数的python代码。例如像这样的行

a = [[],[],[]]
a[0].append(1)
a[1].append(2)
a[2].append(5)

所以我想知道是否可以将上述行重写为更短的代码。由于这是一个向量,我猜 numpy 数组在这里可能很有用。但我听说 append 函数不适合 numpy。我将不胜感激。

问候。

【问题讨论】:

  • 虽然如果你使用术语“向量”你会理解,在 Python 中,它们被称为“列表”。
  • 不,这只是一个例子,它有很多带有附加的循环。所以我想知道这三个附加行是否可以写成一个附加行或其他东西。这将使代码更整洁。
  • 我删除了我的评论。我意识到你的情况更笼统。
  • 如果可能的话,基本上我有兴趣将最后三行合并为一行。

标签: python numpy append


【解决方案1】:

我能想到的最 Pythonic 的方式来创建然后附加到列表列表。最适合 zip 是生成器函数的 Python 3。

a = [[] for i in range(0,3)]
for i,j in zip(a,[1,2,5]):
    i.append(j)

对于 python 2,如果列表很大,zip 将分配大量内存,所以更喜欢更经典的:

a = [[] for i in range(0,3)]
b=[1,2,5]
for i,l in enumerate(a):
    l.append(b[i])

【讨论】:

  • 不幸的是,这些数字的顺序不是很好。对不起,我想我在这里举了一个不好的例子
  • 改变了我的答案。
猜你喜欢
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 2012-08-24
  • 1970-01-01
  • 2019-06-13
  • 1970-01-01
  • 2011-12-07
相关资源
最近更新 更多