【发布时间】:2016-08-27 08:06:11
【问题描述】:
我最初有一个带有产品的 JSON 格式,挑战是按单位的最佳价格(prdata3、prdata2、prdata1)对这个列表进行排序:
{'prdata3': {'variation': 'stand', 'price': '78 54', 'amount': '6',
'url': 'https://www.productwebaddress.com/3'},
'prdata2': {'variation': 'stand', 'price': '15 24', 'amount': '1',
'url': 'https://www.productwebaddress.com/2'},
'prdata1': {'variation': 'vc', 'price': '78 54', 'amount': '12',
'url': 'https://www.productwebaddress.com/1'}}
价格需要除以金额,列表需要按这个值排序,所以在我的例子中输出需要是 (prdata1 (6,55), prdata3 (13,09), prdata2 (15 ,24)):
{'prdata1': {'variation': 'vc', 'price': '78 54', 'amount': '12', 'url': 'https://www.productwebaddress.com/1'}, 'prdata3': {'variation': 'stand', 'price': '78 54', 'amount': '6', 'url': 'https://www.productwebaddress.com/3'}, 'prdata2': {'variation': 'stand', 'price': '15 24', 'amount': '1', 'url': 'https://www.productwebaddress.com/2'}}
这里最好的策略是什么?我尽力先用“for each”进入那里,寻找价格,用点替换空格,将其除以金额,然后使用此结果对我的列表进行排序,例如:sorted(mylist.items(), key=lambda t: t[1]) .. .但是我的结果是关键,对吧?
【问题讨论】:
-
为什么是
'price': '78 54'?你是什么意思?是78.54或7854还是别的什么?请澄清。 -
啊,是的,现在是 78.54 -> 很抱歉造成混乱。