我在用python练习列表。我想把['a', 'n', 'a', 'c', 'o', 'n', 'd', 'a']中的元音字母改成str 'v'。我使用了for循环和range,但是任何事情都不会发生!我的剧本怎么了?
脚本一:
a = list('anaconda')
vowels = list('aeiou')
for i in a:
if i in vowels:
i = 'v'
print(a)也尝试过:
a = list('anaconda')
vowels = list('aeiou')
for i in range(len(a)):
if i in vowels:
i = 'v'
print(a)但是它们都返回了a而没有改变:['a', 'n', 'a', 'c', 'o', 'n', 'd', 'a']!
发布于 2021-12-06 08:32:00
a = list('anaconda')
vowels = list('aeiou')
for i in range(len(a)):
if a[i] in vowels:
a[i] = 'v'
print(a)您使用索引作为值,需要使用‘as来检查字符是否为元音(在给定列表中)
发布于 2021-12-06 08:24:32
好吧,我们换一下吧。
首先,要理解代码中的"i“
for i in a只是名为"i“的变量,等于"a”列表中的值。当你写
i = 'v' 您只需更改变量"i“,而不更改"a”列表中的值。
然后,你需要改变的不是“我”,而是价值从"a“。
写上:
for i in range(len(a)):
if a[i] in vowels:
a[i] = 'v'解决方案是使用"ai“来引用列表中的值。
https://stackoverflow.com/questions/70242549
复制相似问题