gpt4 book ai didi

python - 如何从python列表中删除非单词

转载 作者:行者123 更新时间:2023-12-01 04:52:22 25 4
gpt4 key购买 nike

我正在我的列表上运行一个函数,其中包括字典查找,因此我需要删除所有非字典单词,因为如果不这样做,我会收到关键错误。我不能只使用“继续”,因为我不是在循环中执行此操作。我不认为我有很多,所以如果有必要的话我可以一一做(尽管我宁愿不这样做)。列表中的对象全部采用 unicode,这使得删除它们变得更加困难。

我的列表如下所示:

my_list:
[[u'stuff',
u'going',
u'moment',
u'mj',
u've',
u'started',
u'listening',
u'music'

等等...

或者,如果我这样调用它,我会得到一个括号:

my_list[0]:
[u'stuff',
u'going',
u'moment',
u'mj',
u've',
u'started',
u'listening',
u'music',

等等...

我尝试过以下方法:

my_list.remove("mj")

my_list.remove("u'mj'")

my_list.remove[0,3]

有什么想法吗?谢谢

编辑:回复凯文:这是我获取数据的方式

my_list = []
for review in train["review"]:
my_list.append(review_to_wordlist(review, remove_stopwords=True))

函数在这里:

def review_to_wordlist(review, remove_stopwords=False):
#remove html
review_text = BeautifulSoup(review).get_text()

#remove non-letters
#possibly update this later to include numbers?
review_text = re.sub("[^a-zA-Z]"," ", review_text)

#convert words to lower case and split
words = review_text.lower().split()

if remove_stopwords:
stops = set(stopwords.words("english"))
words = [w for w in words if not w in stops]

return(words)

最佳答案

你很接近。问题不在于 unicode,而在于您在外部列表上调用 remove 。由于您的文本列表是列表中的列表,因此您需要从中删除。

这样做:

my_list[0].remove('mj')

您还可以将其作为 unicode 字符串的前缀(在本例中结果相同):

my_list[0].remove(u'mj')

示例:

my_list = [[u'stuff',
u'going',
u'moment',
u'mj',
u've',
u'started',
u'listening',
u'music'
]]
my_list[0].remove('mj')

print my_list

输出:

[[u'stuff', u'going', u'moment', u've', u'started', u'listening', u'music']]

请注意,字符串 mj 已被删除。

关于python - 如何从python列表中删除非单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144304/

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