index = [0, 2, 5]
s = "I am like stackoverflow-python"
for i in index:
s = s[i].upper()
print(s)
IndexError: string index out of range
我了解在第一次迭代中,字符串s
仅变成了第一个字符,特定情况下是大写字母"I"。但是,我已经尝试过不使用"s =",而是使用 swapchcase()
,但它并没有生效。
基本上,我正在尝试使用Python 3.X打印s
字符串,并将索引字母大写。
set()
。string = list(..)
是具有误导性的,您可以使用chars
(更少误导性)。 - jfsset
的文档字符串中可以看到:“构建一个无序的唯一元素集合。”它不需要被排序,并且每个索引都应该是唯一的,因为重复是没有意义的。 - Tyler Crompton.swapcase()
而不是.upper()
,那么list()
和set()
的索引将产生不同的结果。另外,“string = ''.join(string)”看起来很奇怪,在这种情况下“string = ''.join(chars)”可能更好。 - jfsswapcase()
?为什么要第二次添加索引以实际删除它?这在语义上是不正确的,而set
是适当的数据结构。至于更改变量名称,已完成。谢谢 :) - Tyler Crompton