python 输入一组字符串,包含数字英文中文,并将中文英文和数字分别分类存放到列表中输出 的代码
时间: 2024-02-01 13:16:32 浏览: 156
python 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数 (示例)
5星 · 资源好评率100%
可以使用Python的正则表达式库`re`来实现这个功能。以下是一个示例代码:
```python
import re
# 输入字符串
input_str = "这是一段包含123和abc的文本"
# 定义正则表达式
pattern_zh = re.compile(u'[\u4e00-\u9fa5]') # 中文
pattern_en = re.compile('[a-zA-Z]') # 英文
pattern_num = re.compile('[0-9]') # 数字
# 初始化列表
zh_list = []
en_list = []
num_list = []
# 遍历字符串并分类
for char in input_str:
if pattern_zh.search(char):
zh_list.append(char)
elif pattern_en.search(char):
en_list.append(char)
elif pattern_num.search(char):
num_list.append(char)
# 输出结果
print("中文列表:", zh_list)
print("英文列表:", en_list)
print("数字列表:", num_list)
```
输出结果为:
```
中文列表: ['这', '是', '一', '段', '包', '含', '和', '的', '文', '本']
英文列表: ['a', 'b', 'c']
数字列表: ['1', '2', '3']
```
代码解析:
1. 首先我们导入了Python的正则表达式库`re`。
2. 然后定义了三个正则表达式,分别用于匹配中文、英文和数字。其中中文的正则表达式使用了Unicode编码范围。
3. 接下来我们初始化了三个空列表`zh_list`、`en_list`和`num_list`,用于存放分类后的中文、英文和数字。
4. 然后我们遍历输入字符串中的每个字符,如果字符匹配中文正则表达式,则将其添加到中文列表中;如果匹配英文正则表达式,则添加到英文列表中;如果匹配数字正则表达式,则添加到数字列表中。
5. 最后我们输出三个分类后的列表。
阅读全文