【发布时间】:2016-03-07 10:59:27
【问题描述】:
def format_Dollar_sign(list):
lines=['book, 400.2\n', 'pen, 5\n', 'food, 200.5\n', 'gas, 20\n', 'food, 100\n', 'pen, 10\n', 'insurance, 171.35\n', 'gas, 35\n', 'book, 100\n', 'pen, 12\n', 'food, 320\n', 'gas,23.55\n', 'insurance, 110.25']
#t=[]
l1 = []
l2 = []
for line in lines:
#l=[]
parline =line[:-1]
l1.append(parline)
t = tuple(l1)
l2.append(t)
l1=[]
L='[' + ', '.join('({})'.format(t[0]) for t in sorted(l2)) + ']'
return L
print(format_Dollar_sign(list))
这段代码给我的输出是: [(book,100),(book,400.2),(food, 200.5)...]
但我正在寻找输出: [('book','$500.20'),('food', '$200.50')...]
这些值是以 $ 开头的字符串,它们在小数点后有两位精度。此外,项目名称已排序。
有人可以提出解决这个问题的方法吗?
【问题讨论】:
标签: list python-3.x tuples