Python学习笔记(一):列表和元组

1、列表和元组的主要区别在于:列表可以修改,元组则不能。即如果要根据要求添加元素,列表更适合,
    如果出于某种原因,序列不能修改的时候,使用元组更为合适。

2.通用序列操作
1)索引:
正数索引时,python从左边,即从第一个元素开始计数;
负数索引时,python从右边,即从最后一个元素开始计数;

>>>str="Hello"
>>>str[0]
"H"
>>>str[-1]
"o"

2) 分片:
需要两个索引作为边界,第一个索引的元素是包含在分片内的,第2个则不包含在分片内.

>>>numbers = [1,2,3,4,5]
>>>numbers[2:4]
[3,4]
>>>numbers[0:1]
[1]
>>>numbers[:]//复制整个序列
[1,2,3,4,5]
>>>numbers[]

3) 列表方法:
sort()&sorted():
如果要在排序前先保存一份列表副本,下面这种做法是错误的:

>>>x = [1,3,2,4,5]
>>>y=x.sort()
>>>y
[1,2,3,4,5]
>>>x
[1,2,3,4,5]

正确的方法是:

>>>x = [1,3,2,4,5]
>>>y=x
>>>y.sort()
>>>x
[1,3,2,4,5]
>>>y
[1,2,3,4,5]

也可以这么做:

>>>x = [1,3,2,4,5]
>>>y=sorted(x)
>>>x
[1,3,2,4,5]
>>>y
[1,2,3,4,5]

sort方法有两个可选参数,key和reverse,使用方法如下:

>>>x=['abcde','adv','bbbbbb']
>>>x.sort(key=len)
>>>x
['adv','abcde','bbbbbb']
>>>x=[4,6,2,1,7]
>>>x.sort(reverse=True)
>>>x
[9,7,6,4,2,1]

3.元组:
1)tuple:类似于list

>>>tuple([1,2,3])
(1,2,3)
>>>tuple('abc')
('a','b','c')

2)元组存在的意义:

(1)元组可以在映射(和集合的成员)中当做键使用---而列表不行;
(2)元组作为很多内建函数和方法的返回值存在,也就是说你必须对元组进行处理。

原文地址:https://www.cnblogs.com/hunterCecil/p/5621326.html