对于循环打印值垂直 - Python 3.5

时间:2017-06-29 13:35:16

标签: python list python-3.x for-loop tweepy

让我改变一下这个问题。我正在通过tweepy收集推文ID,并通过id来迭代说某个主题的喜欢/转发。我无法抓住我在此列表中发布的每个ID,由于某种原因它会垂直抓取它们?任何帮助将不胜感激。

ids = ['880420289787699200', '880420289787699200', '880420289946959872', '880420289946959872', '880420290144153601', '880420290144153601', '880420290827780097', '880420290827780097', '880420288370016256', '880420288370016256', '880420291268169728', '880420291268169728', '880420294980235265', '880420294980235265', '880420296599248896', '880420296599248896', '880420296687222786', '880420296687222786', '880420299216478209', '880420299216478209', '880420299040149505', '880420299040149505', '880420298834804736', '880420298834804736', '880420298910081026', '880420298910081026']

for e in ids:
    print (e[0])

#Output:
8
8
8
8
8
8
8

当我使用时:

for e in ids:
    print (e)

输出:

880420289787699200 880420289787699200 880420289946959872 880420289946959872 880420290144153601 880420290144153601 880420290827780097 880420290827780097 880420288370016256 880420288370016256 880420291268169728 880420291268169728 880420294980235265 880420294980235265 880420296599248896 880420296599248896 880420296687222786 880420296687222786 880420299216478209 880420299216478209 880420299040149505 880420299040149505 880420298834804736 880420298834804736 880420298910081026 880420298910081026

我希望(e)成为第一个id(例如880420289787699200)。这可能是一个简单的修复,我只是被困在它上面。

4 个答案:

答案 0 :(得分:2)

没有e[0]因为你已经遍历了id,每个e就是一个id。

例如,在第一次迭代时e等于'880415003748257793',所以当你输入e[0]时,你得到8,因为这是字符串的第一个字符。

for e in ids:
    print (e)

答案 1 :(得分:2)

通过执行print (e[0]),您将打印每个字符串中的第一个字母。如果你改为写print (e),你将打印整个字符串。

答案 2 :(得分:2)

每个e in ID代表一个数字,因此e [0]代表它的第一个数字。

ids = ['880415003748257793', '880415005073702912','880415004809408512','880415007942619136', '880415008470908930','880415010987560960', '880415011105067009', '880415011709083648']

for e in ids:
    print (e[0]) # prints first digit
    print (e) # prints number

答案 3 :(得分:1)

您不需要循环来获取第一个ID 。只需直接从列表中提取它:

ids = ['880415003748257793', '880415005073702912','880415004809408512','880415007942619136', '880415008470908930','880415010987560960', '880415011105067009', '880415011709083648']

# Note: no space needed after "print" in python 3
# (print is a normal function in python 3)
print(ids[0])

在你的循环中,e连续获取ids中元素的值,因此在第一轮中,您获得"880415003748257793",在第二轮中,您获得"880415005073702912"你的e[0]提取了这些id的第一个字母(所有这些都以' 8'开头,因此你观察到的输出)。