我在python中有以下代码:
soup = BeautifulSoup(sock,'html.parser')
for string in soup.stripped_strings:
string = string.encode('ascii','ignore')
print string
打印:
the
cat
has
nine
lives
这持续约47种不同的字符串。如何将这些单独的字符串放入一个列表中?即(猫,有,九,生命)
如果我使用:
print list(itertools.chain(string))
打印出来:
['c', 'a', 't']
etc...
当我使用join时会发生同样的事情......
如果这是一个重复的问题,请发布一个链接找到它,我搜索了一遍,但一直找不到答案。
答案 0 :(得分:1)
您可以使用list comprehension:
[s.encode('ascii','ignore') for s in soup.stripped_strings]
列表理解是一种在iterable上为每个项目应用操作的简明方法,并从结果中创建一个列表:
>>> [x * x for x in range(5)]
[0, 1, 4, 9, 16]
答案 1 :(得分:0)
请考虑阅读http://effbot.org/zone/python-list.htm以获取列表理解。
您还可以向现有序列添加项目。 append方法增加了 单个项目到列表的末尾,extend方法添加项目 从另一个列表(或任何序列)到结尾,并插入一个 给定索引处的项目,并将其余项目移动到右侧。
L.append(item)
L.extend(sequence)
L.insert(index, item)
您可以使用for循环,并将项目添加到列表中......
out = []
for object in L:
out.append(function(object))