You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python循环append后生成多个列表的问题及解决咨询

解决循环中生成单个列表而非多次打印列表的问题

嘿,其实你的代码本身并没有生成10个列表,问题出在你把print语句放在了循环内部!每次循环添加一个用户名后就打印一次当前列表,所以看起来像是输出了10个不同的列表,但实际上你的list变量从始至终都是同一个列表。

不过还有个小坑:你用了list作为变量名,这会覆盖Python内置的list类型,容易引发后续的错误,建议换成更有意义的名字比如screen_names。

下面是修改后的完整代码:

import os
import tweepy as tw
import pandas as pd
from collections import Counter

# 替换变量名,避免覆盖内置list类型
screen_names = []
consumer_key = ""
consumer_secret = ""
access_token = ""
access_token_secret = ""

auth = tw.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tw.API(auth, wait_on_rate_limit=True)

search_words = "test"
date_since = "2020-06-24"
date_to = "2020-06-26"

# Collect tweets
tweets = tw.Cursor(api.search, q=search_words, lang="en", since=date_since, until=date_to).items(10)

# 循环内只做添加操作
for tweet in tweets:
    screen_names.append(tweet.user.screen_name)

# 循环结束后再打印完整列表
print(screen_names)

关键修改点:

  • 变量名优化:把list改成screen_names,遵循Python的命名规范,避免和内置类型冲突。
  • 调整print位置:将打印语句移到循环外部,这样所有用户名都添加完成后,只会输出一次包含全部10个元素的列表。

这样修改后,你就能得到想要的单个列表啦~

内容的提问来源于stack exchange,提问作者Brendan berkowitz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 09:58:15