Python: 如何删除列表中的数字
Python: How to delete numbers in list
Python 学习者在此。所以我有一个 wordlist.txt 文件,每行一个词。我想过滤掉以特定字母开头和结尾的特定单词。但是在我的 wordlist.txt 中,单词会列出它们的出现次数。
例如:
food 312
freak 36
cucumber 1
这是我的代码
wordList = open("full.txt","r", encoding="utf-8")
word = wordList.read().splitlines()
for i in word:
if i.startswith("h") and i.endswith("e"):
print(i)
但是由于列表中的每一项末尾都有数字,我无法过滤正确的单词。我不知道如何省略这些数字。
尝试使用 space 作为分隔符拆分行,并使用第一个值 [0]
,这是您的情况下的单词
for i in word:
if i.split(" ")[0].startswith("h") and i.split(" ")[0].endswith("e"):
print(i.split(" ")[0])
或者您可以只进行一次分割,如
for i in word:
w = i.split(" ")[0]
if w.startswith("h") and w.endswith("e"):
print(w)
编辑:根据下面的评论,您可能希望不使用参数或 None 进行拆分,以防碰巧有两个 space 或一个制表符作为字段分隔符。
w = i.split()[0]
试试这个
str = "This must not b3 delet3d, but the number at the end yes 12345"
str = re.sub(" \d+", "", str)
str 将为 =
"This must not b3 delet3d, but the number at the end yes"
Python 学习者在此。所以我有一个 wordlist.txt 文件,每行一个词。我想过滤掉以特定字母开头和结尾的特定单词。但是在我的 wordlist.txt 中,单词会列出它们的出现次数。
例如:
food 312
freak 36
cucumber 1
这是我的代码
wordList = open("full.txt","r", encoding="utf-8")
word = wordList.read().splitlines()
for i in word:
if i.startswith("h") and i.endswith("e"):
print(i)
但是由于列表中的每一项末尾都有数字,我无法过滤正确的单词。我不知道如何省略这些数字。
尝试使用 space 作为分隔符拆分行,并使用第一个值 [0]
,这是您的情况下的单词
for i in word:
if i.split(" ")[0].startswith("h") and i.split(" ")[0].endswith("e"):
print(i.split(" ")[0])
或者您可以只进行一次分割,如
for i in word:
w = i.split(" ")[0]
if w.startswith("h") and w.endswith("e"):
print(w)
编辑:根据下面的评论,您可能希望不使用参数或 None 进行拆分,以防碰巧有两个 space 或一个制表符作为字段分隔符。
w = i.split()[0]
试试这个
str = "This must not b3 delet3d, but the number at the end yes 12345"
str = re.sub(" \d+", "", str)
str 将为 = "This must not b3 delet3d, but the number at the end yes"