gpt4 book ai didi

python - 类型错误 : expected string or bytes-like object while filtering the nested list of strings with RegEx

转载 作者:行者123 更新时间:2023-11-28 22:22:05 25 4
gpt4 key购买 nike

我有这个嵌套的字符串列表,它处于清理的最后阶段。我想用空格替换嵌套列表中的非字母或创建一个没有非字母的新列表。这是我的 list :

list = [['hello', 'mr.', 'smith', ',', 'how', 'are', 'you', 'doing', 'today', '?'], ['the', 'weather', 'is', 'great', ',', 'and', 'python', 'is', 'awesome', '.'], ['the', 'sky', 'is', 'pinkish-blue', '.'], ['you', 'should', "n't", 'eat', 'cardboard', '.']]

这是我想要用来清理所有内容的模式

pattern = re.compile(r'\W+')
newlist = list(filter(pattern.search, list))
print(newlist)

代码不起作用,这是我得到的错误:

Traceback (most recent call last):
File "/Users/art/Desktop/TxtProcessing/regexp", line 28, in <module>
newlist = [list(filter(pattern.search, list))]
TypeError: expected string or bytes-like object

我知道 list 不是字符串而是字符串列表的列表,我该如何解决?非常感谢任何帮助!

最佳答案

您需要更深入地了解您的列表

import re

list_ = [['hello', 'mr.', 'smith', ',', 'how', 'are', 'you', 'doing', 'today', '?'], ['the', 'weather', 'is', 'great', ',', 'and', 'python', 'is', 'awesome', '.'], ['the', 'sky', 'is', 'pinkish-blue', '.'], ['you', 'should', "n't", 'eat', 'cardboard', '.']]

pattern = re.compile(r'\W+')

newlist_ = [item
for sublist_ in list_
for item in sublist_
if pattern.search(item)]

print(newlist_)
# ['mr.', ',', '?', ',', '.', 'pinkish-blue', '.', "n't", '.']

此外,您不得将变量命名为 list

关于python - 类型错误 : expected string or bytes-like object while filtering the nested list of strings with RegEx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com