Python如何提取字符串中仅含字母的元素排序后打印?现有代码哪里错了?
现有代码问题
- 你当前编写的
stringToList函数是按空格切分字符串得到单词列表,没有将每个字符单独拆分存入列表,不符合需求要求的字符级列表输出规则 - 未过滤非字母字符,原字符串中的空格、逗号、感叹号、数字
2025都属于要剔除的内容 - 缺少排序逻辑
- 将
print()的返回值赋值给strVarList属于无效操作,print()函数本身返回值为None,无法拿到处理后的列表结果
修复后可运行代码
strVar = 'Together We Thrive, Class of 2025!' def stringToList(string): listRes = [] # 遍历每个字符仅保留字母 for char in string: if char.isalpha(): listRes.append(char) # 对列表做升序排序 listRes.sort() return listRes strVarList = stringToList(strVar) print(strVarList)
实现逻辑说明
- 遍历原字符串的每个字符,通过
isalpha()方法判断是否为字母,仅保留字母字符通过append()方法存入列表,自动过滤所有非字母内容 - 调用列表内置
sort()方法完成升序排序,默认按ASCII码值排序,大写字母排在小写字母前,和预期输出的排序规则完全匹配 - 运行后输出结果与你提供的预期结果完全一致
内容的提问来源于stack exchange,提问作者Bre JaNa
相关产品推荐
相关产品推荐

