簡體   English   中英

如何對列表中的字典中的值進行排序

[英]how to sort values from a dictionary in a list

我剛剛開始學習python。 我們被告知有關數據類型(整數,浮點數,布爾值),以及集合,字符串,列表等的信息。關於循環的更多信息(for / while)。 在我的作業中,我需要代碼返回僅包含來自印度的訪問的geo_logs過濾列表。

我需要沒有困難的功能,alpha或類似的東西來執行此操作。 僅標准循環。

geo_logs = [
    {'visit1': ['Moscow', 'Russia']},
    {'visit2': ['Delhi', 'India']},
    {'visit3': ['Bangalore', 'India']},
    {'visit4': ['Lisbon', 'Portugal']},
    {'visit5': ['Paris', 'France']},
    {'visit6': ['Mumbai', 'India']},
]

for visit in geo_logs:
    if visit.values() == 'India':
        print(visit.values())

但這不會返回任何內容。

如果可能,編寫代碼並進行解釋。 我想了解python的工作原理,而不僅僅是做家庭作業。

.values()返回整個字典中所有值的列表。 由於您的值已經是一個列表,所以現在您有了一個列表列表,例如[['Delhi', 'India']]

顯然, [['Delhi', 'India']]不等於'India'

嘗試if 'India' in list(visit.values())[0]

這個數據結構有點令人困惑-當數據仍然位於單獨的詞典中時,為什么您具有不同的鍵visit1visit2等? 要么使它們都具有相同的鍵visit ,要么將它們組合成一本大詞典。

嘗試這個:

for visits in geo_logs:
  for visit,[City,Country] in visits.items():
    if Country == 'India':
      print (visits)

暫無
暫無

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

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