python:更改二维列表中特定列的值

时间:2012-09-08 14:11:32

标签: python

我有一个2-d列表(2元组列表):

results = [("a", 0.1234), ("b", 0.32345), ("c", 0.54321)]

我想将其更改为:

>> [('a', '12.34'), ('b', '32.34'), ('c', '54.32')]

我的想法是做这样的事情:

results = [(x[0], "%.2f" % (x[1] * 100)) for x in results]

它有效,是否有更好的方法(根据import this指南),因为似乎访问值x[0] 效率不高丑陋。顺便说一句 - 我可以把它改成列表而不是元组,如果这改变了什么,例如:

results = [["a", 0.1234], ["b", 0.32345], ["c", 0.54321]]

和分别:

>> [['a', '12.34'], ['b', '32.34'], ['c', '54.32']]

1 个答案:

答案 0 :(得分:3)

您可以使用tuple unpacking

[(a, "%.2f" % (b * 100.0)) for a, b in results]