Python如何替换列表中的随机单词,现有replace方法报错求解
替换列表随机单词功能修复方案
核心问题说明
- 误将
random模块名作为变量存储随机选中的单词,会覆盖模块导致后续调用random相关方法报错 - 列表没有内置
replace()方法,该方法仅适用于字符串,你需要先获取随机选中单词的索引,再通过索引赋值完成替换
修正后完整代码
import random all_lists = ['beans','peaches','yogurt','eggs','pizza'] for x in all_lists: print(x) appending_list = input("Would you like to replace a word? Yes or No?") if appending_list == "Yes": # 修改变量名避免覆盖random模块 random_word = random.choice(all_lists) # 拿到随机单词的索引位置 random_index = all_lists.index(random_word) replace_word = input("What would you like to replace the word with?") # 通过索引赋值替换元素 all_lists[random_index] = replace_word print(all_lists) if appending_list == "No": exit()
补充优化建议
如果需要兼容用户输入小写的yes/no,可以把判断条件改成if appending_list.lower() == "yes",避免大小写不匹配导致功能失效。
内容的提问来源于stack exchange,提问作者wuflpck
相关产品推荐
相关产品推荐

