美文网首页
一个列表元素交换引发的血案

一个列表元素交换引发的血案

作者: 问天eric | 来源:发表于2017-01-09 21:05 被阅读115次

大神:小白,来来,汇报下对list和tuple这章学习有啥问题吗?

小白:我知道了list和tuple是有区别的,通过观察好像是发现【】就是list,用()就是表示的tuple。

大神:符号表示是这样的,你觉得list和tuple的区别是什么呢?

小白:tuple是不可变的list。

大神:嗯,这个阶段理解到这里就可以了。(小白感觉后面肯定有坑)来,如果给你一个数组L,怎么知道它有几个元素呢?

小白:用len(L)就可以。

大神:好的有数组L=【1,2,3,4】,你怎么得到第一个元素和最后一个元素呢?

小白:L[0]和L[-1]

大神:好的,还有其他方式吗?

小白:L[-4]和L[3]

大神:好的,现在写一段小程序,把第一个元素和最后一个元素进行交换。

小白:

L[0] = 4 
L[-1] = 1

大神:。。。。。。你怎么能手动把结果抄出来了,这很不编程,重新来写。

小白:好吧,我再想办法,因为我知道这里有个坑等着我呢,如果我用L[0] = L[-1]以后,我就失去L[0]了呢。

大神:对啊,所以你要想办法实现啊(等着欣赏你进坑姿势呢)

小白:我用一加一减的办法好了

L.append(L[0])
L.insert(0,L[-2])
L.pop(1)
L.pop(-2)

大神:嗯,目的算是实现了,但是语言太啰嗦,你试着引进新变量来解决这个问题。

小白:我试试看

a = L[0]
L[0] = L[-1]
L[-1] = a

大神:好的,这个算是实现了,来你接着继续在数组L最后添加一个数5,用insert的方法实现。

小白:

L.insert(-1,5)

大神:你实际运行看见结果了吗?

小白:我晕,为什么出现的结果是L=[1,2,3,5,4]?

大神:因为insert真正插入的位置和你想象的不同哦(这言论太欠打了=-=)

小白:装无辜状,那我该怎么办。。。

大神:一脸嫌弃,自己想办法啊。。。

小白:冥思苦想以后决定

L.insert(len(L)+1,5)

大神:好的,list就到这吧,下面使用下tuple特性,你试试(a,b)=(1,2),然后你看看a和b的值。

小白:a=1,b=2

大神:好的,你现在用这个再写一次前面的首尾交换程序。

小白:想了想,突然发现是这么简洁

(L[0],L[-1])=(L[-1],L[0])

大神:好了,你终于写出了一句 Pythonic,今天就到这吧,好好享受回顾下这个时刻。

小白:好吧,原来交换一个列表元素最后这么简单和谐。。。。。。我都要被虐死了。。。。。。

相关文章

  • 一个列表元素交换引发的血案

    大神:小白,来来,汇报下对list和tuple这章学习有啥问题吗? 小白:我知道了list和tuple是有区别的,...

  • In/Out 带参数swap_strings

    基于Python的数据交换: 此下是调用交换函数 把列表s1与列表s2的第一个元素交换 定义的列表s1 ,列表s2...

  • iOS土味儿讲义(一)--一个Button引发的血案

    iOS土味儿讲义(一)--一个Button引发的血案 iOS土味儿讲义(一)--一个Button引发的血案

  • 【PHP】简单排序算法

    冒泡排序 遍历列表,比较两个相邻元素的大小,不符合排序就交换相邻元素的位置,直到遍历结束或没有可交换的元素,则排序...

  • 跨国谐音引发的血案

    跨国谐音引发的血案 最近,刷爆朋友圈的朝天椒:一个中文词引发的血案——美国教授因言获罪事件,成功勾起了...

  • js 13

    读取并修改元素的内容 假设两个select元素,分别保存备选地区列表和选中地区列表 实现两选择框之间选项的交换: ...

  • 18

    读取并修改元素的内容 假设两个select元素,分别保存备选地区列表和选中地区列表 实现两选择框之间选项的交换: ...

  • JavaScript13

    读取并修改元素的内容 假设两个select元素,分别保存备选地区列表和选中地区列表 实现两选择框之间选项的交换: ...

  • js

    读取并修改元素的内容 假设两个select元素,分别保存备选地区列表和选中地区列表实现两选择框之间选项的交换:包括...

  • Insert on duplicate 死锁分析,和解决方法

    一条Insert on duplicate引发的血案

网友评论

      本文标题:一个列表元素交换引发的血案

      本文链接:https://www.haomeiwen.com/subject/teihbttx.html