如何在for中动态创建变量?

时间:2016-04-24 21:20:31

标签: python variables twitter

我有一个简单的:

for tweet in tweets.xpath("/tweets/tweet/content"):
        count = count+1
        print("Tweet n°%s" % count)
        print("=> " + tweet.text)
        print("===================================")

我想知道怎样才能自动创建一个变量,让每个推文都在一个不同的变量中,如果有30个推文,那么30个不同的变量会自动创建..我不知道我是否#&# 39;明确但感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

在您的情况下,您可以这样做:

for count, tweet in enumerate(tweets.xpath("/tweets/tweet/content")):
    print("Tweet n°%s" % count)
    print("=> " + tweet.text)
    print("===================================")

如果要存储结果,可以执行以下操作:

tweets = dict()
for count, tweet in enumerate(tweets.xpath("/tweets/tweet/content")):
    tweets[count] = tweet.text

答案 1 :(得分:1)

你应该使用一个数组:

from lxml import etree
xmldoc = etree.parse("tweets.xml")

tweets = xmldoc.xpath("/tweets/tweet/content/text()")

要访问任何推文文本,请通过索引访问它们:

print "first one", tweets[0]
print "last one", tweets[-1]
print "number of tweets", len(tweets)

我知道,你要求动态创建值的新变量名, 但您必须提供有关动态创建的信息 变量以便以后处理。

另一方面,如果你认为tweets[1]是一个“变量名”,你就有了 你要求的解决方案。

编辑:修改了代码,不会将变量tweets用于多种用途。