【发布时间】:2024-01-24 10:19:02
【问题描述】:
我有 2 个列表:一个用于索引(以下vv),另一个用于浮点数(以下aa)。我想用 Python 2.7 做两件事。
(1) 使用vv 从aa 中挑选元素以创建一个新列表ww
(2) 以 2 位十进制格式打印 ww。
指数的数量不同。我设法用下面的代码做到了这些
# A list of indices
vv = [1, 2, 4]
# A list of floats
aa = [31.123456, 37.354135, 41.987438, 43.458713, 52.687135, 65.321486]
ww = []
for ii in vv:
ww.append(aa[ii])
print "Indices ", vv, "correspond to [",
for ff in ww:
print "%.2f," % ff,
print "]"
它的输出是:
Indices [1, 2, 4] correspond to [ 37.35, 41.99, 52.69, ]
但我不满足于此。对于 (1),是否有一种更 Pythonish 的方式来做到这一点,对于 (2),输出看起来不像我想要的那样,因为末尾有一个太多的逗号,并且周围有额外的空格括号。它应该看起来像
Indices [1, 2, 4] correspond to [37.35, 41.99, 52.69]
当然可以使用任意数量的索引。寻找类似的帖子,他们似乎总是有一个固定的、预先知道的索引数量。我猜list comprehension 会以某种方式解决问题吗? https://*.com/a/16986985/11199684
中提到了这一点【问题讨论】:
标签: python python-2.7 list formatting