如何将for循环的结果存储到一行?

时间:2016-01-14 01:00:16

标签: python string list

我有以下代码与beautifulsoup,我在从一个hrefs抓取一些文本:

for z in zz:
    links = z.find_all('a')
    for link in links:
        aaa = link.text

打印这将导致:

blabla
test
word2
etc

我希望将它们放在一个像这样的变量中,之后它会刮掉所有这些变量:

blabla, test, word2, etc

3 个答案:

答案 0 :(得分:4)

我不知道你在哪个例子中添加print语句,但我假设在你的第二个循环中。

要将所有link.text加入单个字符串,您可以使用

myline = ', '.join(link.text for link in links)

答案 1 :(得分:1)

将它们放入列表中,然后打印列表..

print(','.join(link.text for link in z.find_all('a')))

答案 2 :(得分:0)

你有两个选择。

以数组形式打印

'''
Output: [blabla, test, word2, etc]
'''

# From links
print([link.text for link in links])

# From z
print([z.findall('a') for z in zz])

单独打印字符串

'''
Output: blabla, test, word2, etc
'''

# From links
print(', '.join(link.text for link in links))

# From z
print(', '.join(z.findall('a') for z in zz))