2014-07-05 2 views
0

내 사전 목록 트위터 사용자 ID 중 하나와 화면 이름 중 하나 (tweepy를 통해 수확.에있다왜 사전이 잘 렸는가?

나는 화면 이름이 잘린 바람 사전에 그들을 압축 할 때 두 목록이 정확하지만.

항목은 다음과 같습니다 : 여기

AngelicaNUnga 
JoeChevrette 
sillyfaceee 

: 이름이 제대로 여기에 인쇄하는

189754969: u'l' 

은 샘플입니다 사전을 참조하는 코드 :

def paginate(iterable, page_size):#functional but needed to make the other def work 
    while True: 
     i1, i2 = itertools.tee(iterable) 
     iterable, page = (itertools.islice(i1, page_size, None), 
      list(itertools.islice(i2, page_size))) 
     if len(page) == 0: 
      break 
     yield page 



def get_followers(target): 
     target_following_users = {} 

     followers = [] 
     screen_n = [] 

     for page in tweepy.Cursor(api.followers_ids, screen_name=target).pages():#gets the followers for userID 
      followers.extend(page) 
      time.sleep(60)#keeps us cool with twitter 

     for page in paginate(followers, 100):#see paginate 
      results = api.lookup_users(user_ids=page) 
      for result in results: 
       print result.screen_name 
       screen_n.extend(result.screen_name) 

     target_following_users.update(zip(followers, screen_n)) 

     return target_following_users 

    print get_followers(target) 

문제는 내가 사전을 만드는 오전 방법 것 같다하지만 난 그것을 잘라내는 이유를 알아낼 수 없습니다. 정말 간단하게 두 개의 목록을 반환하지 않고 사전을 사용하고 싶습니다. 로부터 항목을 추가하는 (화면 이름이 문자열이기 때문에

['u','s','e','r'] 

하고 extend을 사용하고 있습니다 :

+0

귀하의 목록은 무엇처럼 보이나요? –

+0

그들은 정확하게 보이고, 나는 3 명의 사용자 이름을 움켜 잡고 위에 올려 놓았다. –

+0

그래서 우편 번호를 찍기 전에 팔로워를 인쇄하면 잘 보입니까? –

답변

4

은 실제로 실행을 보지 않고, 당신이 이런 목록으로 screen_n 목록을 확장하고 나타납니다 인수 목록을 extend이라고하는 목록에 추가합니다. 아마도 screen_n.append(results.screen_name)을 원할 것입니다. 예를 들어

,

>>> a = range(3) 
>>> a.extend(4) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: 'int' object is not iterable 
>>> a.extend('45') 
>>> a 
[0, 1, 2, '4', '5'] 
+1

OP가 화면 이름이 아닌 값으로'u'l''을 보는 이유는 무엇입니까? –

+0

정수와 같은 목록을 시도 할 때 일반적으로 확장은 실패하지만 문자열의 경우에는 실패합니다. 문자열은 문자 목록 일뿐입니다. – Wyrmwood

관련 문제