为什么我的Python脚本无法修改列表中的元音字母为指定字符?
代码问题分析
第一段代码问题
- 直接遍历列表得到的
i是元素的临时值拷贝,修改这个局部变量不会影响原列表的存储内容,赋值操作完全没有作用到原列表上。
第二段代码问题
- 此处遍历得到的
i是整数类型的列表索引,判断条件if i in vowels是拿整数和全为字母的元音列表匹配,条件永远为假,不会执行赋值逻辑;即便条件成立,直接修改i的值也只是修改了临时索引变量,同样不会作用到原列表上。
正确实现示例
a = list('anaconda') vowels = list('aeiou') for i in range(len(a)): if a[i] in vowels: a[i] = 'v' print(a)
运行后输出结果为['v', 'n', 'v', 'c', 'v', 'n', 'd', 'v'],符合替换要求。
内容的提问来源于stack exchange,提问作者Majid
相关产品推荐
相关产品推荐

