使用pop和append翻转列表的问题
member = [' 小甲鱼 ', ' 黑夜 ', '迷途', ' 怡静', ' 秋舞斜阳 ']
for i in range(len(member)):
member.append(member.pop(0))
print(member)
这样我觉得可以翻转列表,为什么不行? 这样的话,' 秋舞斜阳 '一直被弹出来又加进去。。。 pop(i)就行 leon_xinxin 发表于 2020-4-12 22:58
这样的话,' 秋舞斜阳 '一直被弹出来又加进去。。。
他这里是pop(0) 你这是把所有元素弹出来又加进去了 永恒的蓝色梦想 发表于 2020-4-12 23:18
你这是把所有元素弹出来又加进去了
member = [' 小甲鱼 ', ' 黑夜 ', '迷途', ' 怡静', ' 秋舞斜阳 ']
for i in range(len(member)):
member.append(member.pop(i))
print(member)
输出 [' 黑夜 ', ' 怡静', ' 小甲鱼 ', ' 秋舞斜阳 ', '迷途']
永恒的蓝色梦想 发表于 2020-4-12 16:18
他这里是pop(0)
他的源程序是小甲鱼一直弹出来加进入,还是所有的出来再进去?如果是pop(0)我怎么感觉是小甲鱼一直出去进来呢 对列表一边迭代一边修改是尽量要避免的,况且你这个还是双重修改,很容易搞错程序的逻辑。想知道为什么不行你可以用断点调试一步一步地去分析程序是怎么运行的 for i in range(len(member)-2,-1-1):
member.append(member.pop(0)) for i in range(len(member)-2,-1-1):
member.append(member.pop(i)) 这是把队首移到队尾,转一圈。首还是首,尾还是尾。 leon_xinxin 发表于 2020-4-13 00:30
他的源程序是小甲鱼一直弹出来加进入,还是所有的出来再进去?如果是pop(0)我怎么感觉是小甲鱼一直出去 ...
很明显,小甲鱼弹出来后加到后面了 永恒的蓝色梦想 发表于 2020-4-13 08:12
很明显,小甲鱼弹出来后加到后面了
小甲鱼被弹来弹去……{:10_256:}画面太美不敢想象 _2_ 发表于 2020-4-13 12:08
小甲鱼被弹来弹去……画面太美不敢想象
所有的都会被弹一遍哦 永恒的蓝色梦想 发表于 2020-4-13 12:09
所有的都会被弹一遍哦
我只是发觉小甲鱼被弹来弹去很……{:10_256:}你懂的,明显是在开车 给你个代码for idx in range(len(member)>>1):
temp=~idx
member,member=member,member
页:
[1]