猿问

Python - 用一行代码对列表进行排序

我想根据我的规范使用一行代码而不是两行代码对列表进行排序,我可以在 for 循环中分配变量名称,如示例代码所示,但我无法使用 for 循环进行排序


我当前的代码工作正常,但我必须压缩 2 个列表(新的、新的 2)才能最终进行排序,无论如何只需在一行代码中完成即可获得“符号”和“价格变化”?


sample = [{'symbol': 'APPL', 'priceChange': '-5.916', 'bidPrice': '0.03201500'}, 

{'symbol': 'URZ', 'priceChange': '2.916', 'bidPrice': '0.03201500'}]



stock = ['APPL']



new = [i['priceChange'] for i in sample if i['symbol'] in stock]

new2 = [i['symbol'] for i in sample if i['symbol'] in stock]


result = list(zip(new2, new))


print(result)


慕姐4208626
浏览 192回答 1
1回答

饮歌长啸

为什么不是这个new = [[i['priceChange'],i['symbol']] for i in sample if i['symbol'] in stock]
随时随地看视频慕课网APP

相关分类

Python
我要回答