我試圖在一個看起來像這樣的字典上進行迭代:
account_data = {"a"/span>: "44196397",
"b": "2545086098",
"c": "210623431",
"d": "1374059147440820231",
"e": "972970759416111104",
"f": "1060627757812641792",
"g": "1368361032796700674",
"h": "910899153772916736",
"i": "887748030304329728",
"j": "1381341090",
"k": "2735504155",
"l": "150324112", }
我們的目標是使用每個ID來搜刮一些資料,因此我得到了一個方法來獲取相應的用戶ID并從中獲取資料。起初,我為 dict 中的每個 ID 設定了一個方法,但現在我想改變它,以便我得到一個方法,它在 dictionary 上進行迭代,一次取一個 ID 并提出 API 請求,如果完成,則提出下一個請求,依此類推。
問題是我不能遍歷字典,我總是只訪問這里的第一個ID。
我對 Python 比較陌生,因為我主要使用 Java。 也許字典是這個任務的錯誤資料結構?
感謝任何幫助。
希望得到任何幫助。
編輯:
這是我的舊代碼,用于遍歷字典:
這是我的舊代碼。
def iterate_over_dict()。
for key, value in account_data.items()。
return value
然后我繼續在這個函式中使用id:
。def get_latest_data()。
chosen_id = iterate_over_dict()
print('id: '/span>, chosen_id)
# get my tweets[/span
tweets = get_tweets_from_user_id(choosen_id)
# get tweet_id of latest tweet[/span
tweet_id = tweets.id. values[0]
# get tweet_text of latest tweet
tweets = tweets.text.values[0]
# check if new tweet - if true -> check if contains[/span>] 。
data = check_for_new_tweet(tweet_id, tweets)
if data is not None:
print("_________"/span>)
print('1' , data)
但我總是只使用第一個。我想在Java中,這對我來說不是問題,因為我可以直接使用索引從0到n進行迭代,但是對于字典來說是否有類似的東西?我還想在每次從dict中選擇一個新的ID時運行get_latest_data方法
。uj5u.com熱心網友回復:
你可以通過把 dictionary 變成一個只由值組成的串列來做到這一點。
val = list(account_data.values() )
會給你["44196397", "2545086098", "210623431"...]
然后你可以非常容易地在一個for回圈中進行迭代,而不需要擔心鑰匙的問題。
uj5u.com熱心網友回復:
使用for回圈進行迭代。
dict = {'a'/span>: 1, 'b': 2, 'c': 3}。
for key, value in dict.items()。
print(key " " str(value))
for key in dict:
print(key " " str(dict[key])
第一個迭代專案,給你鍵和值。第二個迭代了鍵值,然后用鍵值從字典中訪問值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/311394.html
標籤:
