熊猫打字 发表于 2020-4-12 22:44:41

使用pop和append翻转列表的问题


member = [' 小甲鱼 ', ' 黑夜 ', '迷途', ' 怡静', ' 秋舞斜阳 ']

for i in range(len(member)):
    member.append(member.pop(0))
   
print(member)



这样我觉得可以翻转列表,为什么不行?

leon_xinxin 发表于 2020-4-12 22:58:12

这样的话,' 秋舞斜阳 '一直被弹出来又加进去。。。

yan5782037 发表于 2020-4-12 23:01:31

pop(i)就行

永恒的蓝色梦想 发表于 2020-4-12 23:18:08

leon_xinxin 发表于 2020-4-12 22:58
这样的话,' 秋舞斜阳 '一直被弹出来又加进去。。。

他这里是pop(0)

永恒的蓝色梦想 发表于 2020-4-12 23:18:41

你这是把所有元素弹出来又加进去了

熊猫打字 发表于 2020-4-13 00:09:57

永恒的蓝色梦想 发表于 2020-4-12 23:18
你这是把所有元素弹出来又加进去了

member = [' 小甲鱼 ', ' 黑夜 ', '迷途', ' 怡静', ' 秋舞斜阳 ']

for i in range(len(member)):
    member.append(member.pop(i))
   
print(member)

输出   [' 黑夜 ', ' 怡静', ' 小甲鱼 ', ' 秋舞斜阳 ', '迷途']

leon_xinxin 发表于 2020-4-13 00:30:29

永恒的蓝色梦想 发表于 2020-4-12 16:18
他这里是pop(0)

他的源程序是小甲鱼一直弹出来加进入,还是所有的出来再进去?如果是pop(0)我怎么感觉是小甲鱼一直出去进来呢

hrp 发表于 2020-4-13 00:42:37

对列表一边迭代一边修改是尽量要避免的,况且你这个还是双重修改,很容易搞错程序的逻辑。想知道为什么不行你可以用断点调试一步一步地去分析程序是怎么运行的

山岂乎不在高 发表于 2020-4-13 02:03:55

for i in range(len(member)-2,-1-1):
    member.append(member.pop(0))

山岂乎不在高 发表于 2020-4-13 02:06:14

for i in range(len(member)-2,-1-1):
    member.append(member.pop(i))

山岂乎不在高 发表于 2020-4-13 02:08:42

这是把队首移到队尾,转一圈。首还是首,尾还是尾。

永恒的蓝色梦想 发表于 2020-4-13 08:12:26

leon_xinxin 发表于 2020-4-13 00:30
他的源程序是小甲鱼一直弹出来加进入,还是所有的出来再进去?如果是pop(0)我怎么感觉是小甲鱼一直出去 ...

很明显,小甲鱼弹出来后加到后面了

_2_ 发表于 2020-4-13 12:08:50

永恒的蓝色梦想 发表于 2020-4-13 08:12
很明显,小甲鱼弹出来后加到后面了

小甲鱼被弹来弹去……{:10_256:}画面太美不敢想象

永恒的蓝色梦想 发表于 2020-4-13 12:09:35

_2_ 发表于 2020-4-13 12:08
小甲鱼被弹来弹去……画面太美不敢想象

所有的都会被弹一遍哦

_2_ 发表于 2020-4-13 12:11:27

永恒的蓝色梦想 发表于 2020-4-13 12:09
所有的都会被弹一遍哦

我只是发觉小甲鱼被弹来弹去很……{:10_256:}你懂的,明显是在开车

永恒的蓝色梦想 发表于 2020-4-13 12:11:53

给你个代码for idx in range(len(member)>>1):
    temp=~idx
    member,member=member,member
页: [1]
查看完整版本: 使用pop和append翻转列表的问题