2017-08-01 6 views
1

redditの著者のコメントリストから重複した名前を削除しようとしています。redditの著者から重複を削除するpython

これは私が今で試したものです:

author_no_duplicates = [] 
author_list = [] 
for comment in submission.comments.list(): 
    author_list = comment.author 
    for i in author_list: 
     if i not in author_no_duplicates: 
      author_no_duplicates.append(i) 

for i in author_no_duplicates: 
    print str(i) 

これは私にエラー

Traceback (most recent call last): File "/home/wizard/PycharmProjects/reddit/python/demo.py", line 71, in for i in author_list: TypeError: 'Redditor' object is not iterable

任意のヒントを与えますか?エラーが唯一の著者を持つことができない反復可能な コメント一つとして「Redditor」オブジェクトが言うように

author_no_duplicates = list(set(author_list)) 
+0

、 'List'のような反復可能な型としてではなく、 – marcushobson

+1

'' 'comment.author'''はこれが反復可能でないため、明確にする必要があります。 – Enfenion

答えて

1
for i in author_list: 
TypeError: 'Redditor' object is not iterable 

+0

それだけです!どうもありがとうございました!! –

2

あなたがセットを使用することができます。したがって、それは単なる1つのオブジェクトです。

あなたがこれを実行する必要があります。

all_authors = set() 
for comment in submission.comments.list(): 
    all_authors.add(comment.author.name) 

これは1行で行うことができますあなたの `author_list`オブジェクトはタイプ` Redditor`として設定されているかのように見えます

unique_authors = set([comment.author.name for comment in submission.comments.list()]) 
+0

私はこれを最初に試しましたが、同じエラーがあります –

関連する問題