在python中挣扎着字符串和列表

时间:2016-05-23 02:08:42

标签: python string list

我在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时会发生同样的事情......

如果这是一个重复的问题,请发布一个链接找到它,我搜索了一遍,但一直找不到答案。

2 个答案:

答案 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))