You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整代码实现数组按用户输入顺序排序,替代小写优先的排序逻辑

代码修改方案

现有代码问题

  • 存在未定义变量password,你实际接收用户输入的变量是userInput,遍历对象错误
  • 逻辑不符合需求:当前分三次遍历输入内容,依次提取所有小写字母、大写字母、数字,必然会打乱字符原本的输入顺序
  • 冗余内容:导入了未使用的time模块,数字匹配串遗漏了字符0

修复后代码

userInput = input('Enter some random thing here: ')
lowerCaseLetters = 'abcdefghijklmnopqrstuvwxyz'
upperCaseLetters = lowerCaseLetters.upper()
digits = '1234567890'
ret = []

# 单次遍历输入,完全保留原输入顺序
for char in userInput:
    # 仅保留大小写字母、数字,不需要过滤可直接删除判断条件
    if char in lowerCaseLetters or char in upperCaseLetters or char in digits:
        ret.append(char)

print(ret)

补充优化

如果你的需求只是把输入字符串按原顺序转为字符列表,不需要过滤其他特殊字符,代码可以简化为:

userInput = input('Enter some random thing here: ')
ret = list(userInput)
print(ret)

验证效果

输入Python123时,输出结果为['P', 'y', 't', 'h', 'o', 'n', '1', '2', '3'],完全匹配预期。

内容的提问来源于stack exchange,提问作者ETAWN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 22:57:02