|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
list1=[1,2,3,4,5,6]
b=''
for i in list1:
b+=str(list1.pop())
print(b)
pop()方法会改变列表。这段代码的整个过程如下
第一次循环:
pop() 方法弹出了 6 list1 列表变成了[1, 2, 3, 4, 5] b 这个时候 == 6 i 指向 1
第二次循环:
pop() 方法弹出了 5 list1 列表变成了[1, 2, 3, 4] b 这个时候 == 65 i 指向 2
第三次循环:
pop() 方法弹出了 4 list1 列表变成了[1, 2, 3] b 这个时候 == 654 i 指向 3
然后这个时候就退出循环了。因为 list1 后面三个元素已经被移除出列表了。因此输出结果就是:654
而你用while循环能得到正确答案,就是因为整个循环条件不依赖于 list1 列表本身。 如果要用for循环得到正确输出,需要如下调整:
list1 = [1, 2, 3, 4, 5, 6]
b = ""
for i in range(len(list1)):
b += str(list1.pop())
print(b)
|
|