【发布时间】:2017-10-26 13:43:21
【问题描述】:
所以我需要创建一个函数,它遍历整数列表并以这些整数作为索引打印字符串的字符。像这样的:
printString('123456789',[1,7,5,3])
2
8
6
4
我有这个:
def printString(s,list):
i=0
resultString=str()
for i in range(len(list)):
resultString= s[list[i]]
i=i+1
print (resultString)
但它只打印字符串的第一个字符,我猜是for循环有问题,我只是不知道它是什么。
任何帮助都会很有用!谢谢你
【问题讨论】:
-
你可以改进你的循环本身:而不是
for i in range(len(list))后跟list[i],只需使用for i in list。无需创建范围来生成索引然后检索项目。循环构造会为您做到这一点。 -
代码的附加说明:
i=0没有任何作用,当您在循环中重用i时,该值将被覆盖。resultString=str()行也毫无用处,因为您在使用变量之前在循环中重新分配给resultString。最后,语句i=i+1也没有任何作用,因为i被循环构造覆盖。因此,您可以删除这三行而不改变程序的结果。
标签: python string list for-loop