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

Python中空字符串与shuffle打乱的列表拼接失败原因求解

问题原因

random.shuffle() 属于原地操作方法,只会直接修改传入的列表对象,本身返回值为 None。你执行 letters = random.shuffle(letters) 时,会把原本保存字符列表的 letters 变量覆盖为 None,后续执行 "".join(letters) 时传入了非可迭代的 None,自然会运行报错。

修正代码

# 注意必须先导入random模块,否则会抛出NameError
import random
p = input()
letters = [x for x in p]
# 直接调用shuffle修改原列表,不要接收返回值
random.shuffle(letters)
p = "".join(letters)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:39:01