python,将一个元素大都是中文字符串的列表中的字母、符号、空格去掉,形成新的列表,其中元素为字符串
时间: 2023-12-03 19:43:11 浏览: 119
可以使用正则表达式和列表推导式来实现:
```python
import re
old_list = ["你好,hello!", "这是一个测试。", "Python 编程。"]
new_list = [re.sub(r'[a-zA-Z\s\W]+', '', s) for s in old_list]
print(new_list)
```
输出:
```
['你好', '这是一个测试', '编程']
```
解释:
- `r'[a-zA-Z\s\W]+'` 是匹配所有字母、空格、和符号的正则表达式
- `re.sub(pattern, repl, string)` 是用来替换匹配正则表达式的字符串的函数
- `s` 是 `old_list` 中的每一个字符串元素
- `for s in old_list` 是列表推导式的语法,用来遍历 `old_list` 中的每一个元素,并应用正则表达式去掉其中的字母、符号、和空格
相关问题
python 接收字符串为参数,用空格替换字符串中所有标点符号,根据空格将字符串切分为列表 返回值为元素为单词的列表
可以使用 Python 内置的 `string` 模块来处理标点符号,具体实现如下:
```python
import string
def process_text(text):
# 将标点符号替换为空格
for punct in string.punctuation:
text = text.replace(punct, ' ')
# 将字符串切分为列表
word_list = text.split()
return word_list
```
这个函数将接收一个字符串作为参数 `text`,然后将其中的标点符号都替换为空格,并且根据空格将字符串切分为列表。最后返回的是一个元素为单词的列表。
题目描述 编写程序,输入一个字符串,用一个列表来保存字符串中元素的个数,其中第一个元素为大写字母个数,第二个元素为小写字母个数,第三元素为数字个数,第四个元素为其他字符个数。 输入 一个字符串 输出 包含各种元素个数的列表用python实现
好的,这是一个简单的程序,您可以参考以下代码:
```python
input_str = input("请输入一个字符串:")
element_count = [0, 0, 0, 0]
for char in input_str:
if char.isupper():
element_count[0] += 1
elif char.islower():
element_count[1] += 1
elif char.isdigit():
element_count[2] += 1
else:
element_count[3] += 1
print("大写字母个数:", element_count[0])
print("小写字母个数:", element_count[1])
print("数字个数:", element_count[2])
print("其他字符个数:", element_count[3])
```
这个程序首先接收用户从键盘输入的一个字符串,并将其赋值给变量input_str。然后定义一个长度为4的列表element_count,用于分别保存大写字母个数、小写字母个数、数字个数和其他字符个数。接下来使用for循环遍历字符串中的每个字符,根据字符的类型(大写字母、小写字母、数字、其他字符)分别将对应的元素计数加1。最后输出element_count列表中各个元素的值,即为字符串中各种元素的个数。
阅读全文