2012-03-28 2 views
0

Hier ist der Code:Mining das Social Web example1-6: Liste Verständnis

import twitter 
twitter_search = twitter.Twitter(domain="search.twitter.com") 
search_results = [] 
for page in range(1,6): 
    search_results.append(twitter_search.search(q="SNL", rpp=100, page=page)) 

tweets = [ r['text']\ 
      for results in search_results \ 
      for r in result['results']] 

mein Fehler lautet:

Traceback (most recent call last): 
    File "/Users/owner1/Documents/ex17.py", line 9, in <module> 
    for r in result['results']] 
TypeError: list indices must be integers, not str 

Wie kann ich dieses Problem beheben? Ich habe versucht, 'Ergebnisse' für eine Ganzzahl, 1, zu substrieren, aber das funktioniert auch nicht.

Antwort

0

Was ist result? Sie haben results von search_results, aber ich sehe keine result drin.

+0

Nicht sicher. Ich nehme den Code direkt aus dem Buch. Können Sie mir empfehlen, was ich zuweisen soll? – LNA

+0

@LNA: Sie haben wahrscheinlich einen Tippfehler dort –

1

Es ist ein Tippfehler in:

tweets = [ r['text']\ 
      for results in search_results \ 
      for r in result['results']] 

result steht nicht im Einklang mit den results in der gleichen Schleife verwendet:

tweets = [ r['text']\ 
      for result in search_results \ 
      for r in result['results']] 

Werke für mich zumindest.