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"