📌  相关文章
📜  Python|从字符串列表中删除所有数字

📅  最后修改于: 2022-05-13 01:54:31.087000             🧑  作者: Mango

Python|从字符串列表中删除所有数字

给定一个字符串列表,编写一个Python程序从字符串列表中删除所有数字。

例子:

Input : ['alice1', 'bob2', 'cara3']
Output : ['alice', 'bob', 'cara']

Input : ['4geeks', '3for', '4geeks']
Output : ['geeks', 'for', 'geeks']

方法 #1: Python正则表达式

Python正则表达式模式也可用于查找每个字符串是否包含数字并将它们转换为“”。

# Python program to Remove all 
# digits from a list of string
import re
  
def remove(list):
    pattern = '[0-9]'
    list = [re.sub(pattern, '', i) for i in list]
    return list
  
# Driver code 
  
list = ['4geeks', '3for', '4geeks']
print(remove(list))
输出:
['geeks', 'for', 'geeks']


方法 #2:使用str.maketrans()方法
maketrans()方法返回一个转换表,它将 intabstring 中的每个字符映射到 outtab 字符串中相同位置的字符。在这个特殊的问题中,我们使用 for 循环将每个数字转换为“”。

# Python program to Remove all 
# digits from a list of string
from string import digits
  
def remove(list):
    remove_digits = str.maketrans('', '', digits)
    list = [i.translate(remove_digits) for i in list]
    return list
  
# Driver code 
  
list = ['4geeks', '3for', '4geeks']
print(remove(list))
输出:
['geeks', 'for', 'geeks']


方法#3:使用str.isalpha()方法
在这种方法中,我们使用两个 for 循环并检查字符串字符为字母。如果是,则将其加入列表中,否则将其保留。

# Python program to Remove all 
# digits from a list of string
from string import digits
  
def remove(list):
    list = [''.join(x for x in i if x.isalpha()) for i in list]
              
    return list
  
# Driver code 
  
list = ['4geeks', '3for', '4geeks']
print(remove(list))
输出:
['geeks', 'for', 'geeks']