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
相关产品推荐
相关产品推荐

