python入门 - - - 廖雪峰 - 图文 联系客服

发布时间 : 星期一 文章python入门 - - - 廖雪峰 - 图文更新完毕开始阅读

L = [95.5, 85, 59]

请按照倒序索引分别打印出倒数第一、倒数第二、倒数第三。

倒序索引从-1开始,由于list只包含3个元素。 参考代码: L = [95.5, 85, 59] print L[-1] print L[-2] print L[-3] 注意:不能使用超出-3 的索引,这样会越界呦。

Python之添加新元素

现在,班里有3名同学:

>>> L = ['Adam', 'Lisa', 'Bart'] 今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢? 第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾: >>> L = ['Adam', 'Lisa', 'Bart'] >>> L.append('Paul') >>> print L ['Adam', 'Lisa', 'Bart', 'Paul'] append()总是把新的元素添加到 list 的尾部。

如果 Paul 同学表示自己总是考满分,要求添加到第一的位置,怎么办?

方法是用list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素: >>> L = ['Adam', 'Lisa', 'Bart'] >>> L.insert(0, 'Paul') >>> print L ['Paul', 'Adam', 'Lisa', 'Bart'] L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。

任务

假设新来一名学生Paul,Paul 同学的成绩比Bart好,但是比Lisa差,他应该排到第三名的位置,请用代码实现。

第3个元素的索引是2,因此,insert()的第一个参数应该传入2。 参考代码: L = ['Adam', 'Lisa', 'Bart'] L.insert(2, 'Paul') print L

Python从list删除元素

Paul同学刚来几天又要转走了,那么我们怎么把Paul 从现有的list中删除呢? 如果Paul同学排在最后一个,我们可以用list的pop()方法删除: >>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] >>> L.pop() 'Paul' >>> print L ['Adam', 'Lisa', 'Bart'] pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'Paul'。 如果Paul同学不是排在最后一个怎么办?比如Paul同学排在第三:

>>> L = ['Adam', 'Lisa', 'Paul', 'Bart'] 要把Paul踢出list,我们就必须先定位Paul的位置。由于Paul的索引是2,因此,用 pop(2)把Paul删掉: >>> L.pop(2) 'Paul' >>> print L ['Adam', 'Lisa', 'Bart'] 任务 注意右边编辑器代码中 list 如下: L = ['Adam', 'Lisa', 'Paul', 'Bart'] Paul的索引是2,Bart的索引是3,如果我们要把Paul和Bart都删掉,请解释下面的代码为什么不能正确运行: L.pop(2) L.pop(3) 怎样调整代码可以把Paul和Bart都正确删除掉? 当首先删除索引为 2 的Paul时,L变成了: ['Adam', 'Lisa', 'Bart'] 这时,注意到Bart的索引已经从原来的3变成2了! 参考代码: L = ['Adam', 'Lisa', 'Paul', 'Bart'] L.pop(3) L.pop(2) print L

Python中替换元素

假设现在班里仍然是3名同学:

>>> L = ['Adam', 'Lisa', 'Bart'] 现在,Bart同学要转学走了,碰巧来了一个Paul同学,要更新班级成员名单,我们可以先把Bart删掉,再把Paul添加进来。 另一个办法是直接用Paul把Bart给替换掉:

>>> L[2] = 'Paul' >>> print L L = ['Adam', 'Lisa', 'Paul'] 对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。 由于Bart还可以用 -1 做索引,因此,下面的代码也可以完成同样的替换工作:

>>> L[-1] = 'Paul' 任务 班里的同学按照分数排名是这样的: L = ['Adam', 'Lisa', 'Bart'] 但是,在一次考试后,Bart同学意外取得第一,而Adam同学考了倒数第一。 请通过对list的索引赋值,生成新的排名。

Adam的索引是0,而Bart的索引是-1。 参考代码: L = ['Adam', 'Lisa', 'Bart'] L[0] = 'Bart' L[-1] = 'Adam' print L Python之创建tuple

tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。 同样是表示班里同学的名称,用tuple表示如下:

>>> t = ('Adam', 'Lisa', 'Bart') 创建tuple和创建list唯一不同之处是用( )替代了[ ]。 现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。 获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素,不信可以试试:

>>> t[0] = 'Paul' Traceback (most recent call last): File \TypeError: 'tuple' object does not support item assignment 任务 创建一个tuple,顺序包含0 - 9这10个数。 定义tuple通过 () 实现。 参考代码: t = (0,1, 2, 3, 4, 5, 6, 7, 8, 9) print t

Python之创建单元素tuple

tuple和list一样,可以包含 0 个、1个和任意多个元素。 包含多个元素的 tuple,前面我们已经创建过了。

包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:

>>> t = () >>> print t () 创建包含1个元素的 tuple 呢?来试试:

>>> t = (1) >>> print t 1 好像哪里不对!t 不是 tuple ,而是整数1。为什么呢?