我真的很喜欢pythons用缩写for循环来缩短内容的可能性 - 但有时候,我需要多次获得一个包含一个值的列表,我按照以下方式执行:
plot(seconds, [z0 for s in seconds], '--')
但是,由于审美原因,未使用的s
真的会让我感到不安。
有没有更短(更漂亮)的方式?像一些特殊的“乘法”有些价值?
答案 0 :(得分:14)
你的意思是:
[z0] * len(seconds)
答案 1 :(得分:6)
取决于z0是什么
[z0]*len(seconds)
公平警告这不会像你希望z0是一个可变数据类型
那样有效答案 2 :(得分:1)
我觉得你这样做的方式并不那么脏......但是numpy.fill
功能更加整洁:
In [4]: import numpy as np
In [5]: x=np.empty(5)
In [6]: x.fill(8)
In [7]: x
Out[7]: array([ 8., 8., 8., 8., 8.])