我與Twitter的API工作,我有這樣的Python代碼設置:改進列表理解
call_twitter = urllib2.urlopen("http://search.twitter.com/search.json?q=hello")
tweets_json = json.loads(call_twitter.read())
的JSON API輸出的結構
/completed_in
/stuff
/stuff
/results
.../tweet1
....../from_user
....../tweet_text
....../etc
.../tweet2
.../moretweets
我嘗試最小的列表理解,以在內部字典中獲得鳴叫「from_user」和「text」屬性。我能做的最好的是,
call_twitter = urllib2.urlopen("http://search.twitter.com/search.jsonq=alhamdulillah")
tweets_json = json.loads(call_twitter.read())
for tweet in tweets_json['results']:
text = tweet['text']
from_user = tweet['from_user']
我改進這,
text_list = [tweet['text'] for tweet in tweets_json['results']]
from_user_list = [tweet['from_user'] for tweet in tweets_json['results']]
我不知道如果「FROM_USER」和「文本」,將始終相互對應(按順序)當我將它們保存在2個不同的列表中時。有沒有辦法在一次迭代中抓住「text」和「from_user」而不使用for-loop?
我是一個Python菜鳥,但感謝提前的幫助:)