姜饼人 发表于 2020-5-9 22:16:36

每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边

题目:如果你每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,你会怎么做?

我的代码:

>>> list=
>>> for i in range(0,5):
        for j in range(0,5):
                if i+j==5:
                        temp=list
                        list=list
                        list=temp

                       
>>> list

请问我的操作哪里有问题?求指点。

ba21 发表于 2020-5-9 22:20:24

那就是倒序咯。这方法就多了。

永恒的蓝色梦想 发表于 2020-5-9 22:23:32

什么都不做即可。

Charles未晞 发表于 2020-5-9 22:28:11

遍历0-5应该是range(0, 6),而且你这样子会导致i=0, j=5和i=5, j=0的时候都换一次,相当于没换

姜饼人 发表于 2020-5-9 22:39:45

Charles未晞 发表于 2020-5-9 22:28
遍历0-5应该是range(0, 6),而且你这样子会导致i=0, j=5和i=5, j=0的时候都换一次,相当于没换

>>> list=
>>> for i in range(0,6):
    for j in range(0,6):
      if i+j==5 and i<j:
            temp=list
            list=list
            list=temp
            list

            



>>>
为什么会这样还错了?我知道我把这道题做复杂了,但是我想知道错在哪?

姜饼人 发表于 2020-5-10 07:40:25

永恒的蓝色梦想 发表于 2020-5-9 22:23
什么都不做即可。

我……?

姜饼人 发表于 2020-5-10 07:41:52

ba21 发表于 2020-5-9 22:20
那就是倒序咯。这方法就多了。

能不能麻烦你给我介绍一种,我长长见识~

ba21 发表于 2020-5-10 09:46:50

姜饼人 发表于 2020-5-10 07:41
能不能麻烦你给我介绍一种,我长长见识~

>>> l=
>>> l.reverse()
>>> l


>>> l=
>>> l2 = list(reversed(l))
>>> l2

姜饼人 发表于 2020-5-10 21:40:40

ba21 发表于 2020-5-10 09:46
>>> l=
>>> l.reverse()
>>> l


谢谢你让我接触到reverse(),长知识了~

yjptx121 发表于 2020-5-10 22:38:40

本帖最后由 yjptx121 于 2020-5-10 22:40 编辑

a =
for i in range(len(a)):
    a.insert(i, a.pop())
    print('第{}的值为: {}'.format(i, a))

第0的值为:
第1的值为:
第2的值为:
第3的值为:
第4的值为:
第5的值为:
第6的值为:
第7的值为:
第8的值为:
第9的值为:

姜饼人 发表于 2020-5-11 07:41:09

yjptx121 发表于 2020-5-10 22:38
第0的值为:
第1的值为:
第2的值 ...

谢谢,我一直想知道的就是怎么用循环语句一次性倒序转换,虽然没有reverse简单。
页: [1]
查看完整版本: 每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边