簡體   English   中英

Python-使用行代碼對列表進行排序

[英]Python - Sorting Through List With A Line Code

我想根據規范用單行代碼而不是2行代碼對列表進行排序,我可以在for循環中分配變量名稱,如示例代碼所示,但我無法使用for循環進行排序

我當前的代碼工作正常,但我必須壓縮2個列表(new,new2)才能最終進行排序,無論如何,只需在一行代碼中進行操作即可獲得“ symbol”和“ priceChange”?

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)

為什么不這樣

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM