【问题标题】:struggling with strings and lists in python [duplicate]在 python 中处理字符串和列表[重复]
【发布时间】:2016-09-19 18:49:31
【问题描述】:

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

如果这是一个重复的问题,请发布一个链接以找到它,我搜索了所有内容并没有找到答案。

【问题讨论】:

    标签: python string list


    【解决方案1】:

    请考虑阅读http://effbot.org/zone/python-list.htm 以了解列表。

    您还可以将项目添加到现有序列。 append 方法添加 单个项目到列表末尾,extend 方法添加项目 从另一个列表(或任何序列)到末尾,然后 insert 插入一个 给定索引处的项目,并将剩余的项目向右移动。

    L.append(item)
    L.extend(sequence)
    L.insert(index, item)
    

    您可以使用 for 循环,并将项目添加到列表中...

      out = []
      for object in L:
          out.append(function(object))
    

    【讨论】:

      【解决方案2】:

      你可以使用list comprehension:

      [s.encode('ascii','ignore') for s in soup.stripped_strings]
      

      列表推导式是一种对可迭代项上的每个项目应用操作并从结果中创建列表的简洁方法:

      >>> [x * x for x in range(5)]
      [0, 1, 4, 9, 16]
      

      【讨论】:

        猜你喜欢
        • 2016-03-29
        • 2013-07-25
        • 2012-01-02
        • 2019-01-08
        • 1970-01-01
        • 2020-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多