我遇到了一个问题,我可以通过Twitter API为我提供给定区域中热门话题的前10个列表,但我只能打印完整版或第一个要打印的字符,但是不是列表中的第一个条目。
以下代码是我尝试只打印列表中的第一个条目(条目0)但我得到的每个列表条目的第一个字符(字符0)。
from twitter import *
access_token = "myaccesstoken"
access_token_secret = "myaccesstokensecret"
consumer_key = "consumerkey"
consumer_secret = "consumersecret"
t = Twitter(auth=OAuth(access_token, access_token_secret, consumer_key, consumer_secret))
results = t.trends.place(_id = 2442047)
#I used the Los Angeles WOEID
for location in results:
for trend in location["trends"]:
trendlist = trend["name"]
print trendlist[0]
如果我只使用这样的简单列表,我可以让Python只打印第一个条目:
trendlist = ['one', 'two', 'three']
print trendlist[0]
任何人都可以提供一个指针,说明为什么这种行为不同,以及如何从趋势列表中获取一个条目进行打印?
答案 0 :(得分:2)
趋势api会返回如下内容:
"trends": [
{
"events": null,
"name": "#GanaPuntosSi",
"promoted_content": null,
"query": "%23GanaPuntosSi",
"url": "http://twitter.com/search/?q=%23GanaPuntosSi"
}...]
使用第二个for循环,您将遍历上述每个趋势“对象”。
trendlist = trend["name"]
不会为您提供列表,而是趋势名称。
print trendlist[0]
打印出名字的第一个字母。
只需打印趋势[“名称”]即可完成。
这是给你https://repl.it/BLww/1的一点点repl.it。您正在打印所有10个,因为您正在遍历它们。如果您只想打印第一个,可以这样做:
for location in results:
print location["trends"][0]['name']