[英]Sorting Dictionary Items Using Python
我有個問題;
import requests
import json
from datetime import datetime
result = requests.get("https://api.exchangeratesapi.io/history?start_at=2020-12-1&end_at=2020-12-13&symbols=USD,TRY&base=USD")
result = json.loads(result.text)
print(result["rates"])
print(sorted(i, key=lambda date: datetime.strptime(date, "%Y-%m-%d")))
我在下面添加了錯誤。 我想對日期進行排序。
變量i
在這里沒有意義,你可以這樣做
ra = result["rates"]
ra = sorted(ra, key=lambda date: datetime.strptime(date, "%Y-%m-%d"))
print(ra)
這將返回一個列表,因為 dict 在 Python(always,) 中沒有順序。 您不能對 dict 元素下任何命令。
要使用有序字典,您可以嘗試 Python 中的OrderedDict
,請參閱
https://docs.python.org/3/library/collections.html#collections.OrderedDict
我認為缺少的變量i
是result
? 如果是這種情況,您可以執行以下操作:
sorted_rates = dict(sorted(
result["rates"].items(),
key=lambda item: datetime.strptime(item[0], "%Y-%m-%d")))
在這里,我們首先將字典result["rates"]
轉換為(key, value)
形式的元組數組。 然后我們使用比較器 function 對其進行排序,該比較器通過訪問第一個元素( item[0]
)從元組中獲取字符串日期。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.