📅  最后修改于: 2023-12-03 15:38:09.777000             🧑  作者: Mango
在处理文本数据时,很常见的任务是将包含数字和单词的字符串列表分隔成两个不同的列表。在 Python 中,有很多方法可以实现这个任务,下面介绍其中的几种方法。
words = []
nums = []
for s in data:
if s.isdigit():
nums.append(s)
else:
words.append(s)
这种方法使用了字符串的 isdigit()
方法,该方法返回 True 如果字符串只包含数字字符,否则返回 False。因此,我们可以遍历列表中的每个元素,判断是数字还是单词,并将它们分别添加到不同的列表中。
import re
words = []
nums = []
for s in data:
if re.match(r'\d+', s):
nums.append(s)
else:
words.append(s)
这种方法使用了正则表达式,我们通过正则表达式 \d+
匹配一个或多个数字字符,如果一个字符串匹配该正则表达式,那么它就是数字,否则就是单词。
words = [s for s in data if not s.isdigit()]
nums = [s for s in data if s.isdigit()]
最后,我们可以使用列表解析来实现这个任务,这种方法非常简洁,也很高效。
以上就是三种常用的方法来分隔列表中的单词和数字,在实际的项目中,我们可以根据数据的特点选择最适合的方法来进行处理。