第二章:列表和元组

python中最基本的数据结构为序列,序列又有字符串,列表和元组。其中列表是可以修改的,而元组是不可修改的。

列表的写法是aa=["张三",21],将所有的元素放在[](方括号)中,用逗号分隔。

元组的写法很简单,只要将值用逗号分隔就能自动创建元组,1,2,3;(1,2,3)通常用圆括号括起来写,还有一点要注意,如果只包含一个值的元组,也需要用逗号如1,或者(1,)这样写。

序列通用的操作

1、索引

索引很简单,等价于Java中的下标,greeting='Hello',greeting[0]的索引是'H',想从右往左只需要把方括号内的索引改成负数即可,如greeting[-5]的索引也是'H'。

2、切片

索引是访问单个元素,切片就是访问特定范围内的元素。用两个索引,使用:分隔,greeting="Hello",greeting[1:3]为el,注意第一个索引指定的元素包含在切片内,第二个索引指定的元素不包含在切片内。


2.1切片可以简写,如切片结束于序列末尾,第二个索引可省略[3:],始于开头第一个索引可省略[:5],要复制整个序列,两个索引都可省略[:]。

2.2numbers=[1,2,3,4,5,6,7,8,9,10],numbers[0:10:2]第一个和第二个为索引,第二个索引是因为有10个数,索引有9个,数字10的索引为9,如果写9就取不到数字10,故往后加一个,第三个数为步长,上面是步长为2即隔一个元素提取,numbers[0:10:2]的结果为[1,3,5,7,9],步长不能为0,否则不能向前移,但可以为负数,从右向左提取。

3、序列相加

相同的序列可以相加,[1,2,3]+[4,5]结果为[1,2,3,4,5],注意必须是相同的序列才可以相加。

4、乘法

将序列与数x相乘,将重复这个序列x次来创建新序列,'abc' * 3结果为'abcabcabc',如果需要创建一个可包含5个元素的列表,但没有任何内容,可以用None,在Python中None表示什么都没有。aa=[None]*5

5、成员资格

要检查特定字符是否包含在序列中,可使用运算符In。

python='rw'

w in python 结果为false,in返回的是布尔值包含返回true,反之返回false

序列中有内置函数len、min和max,len是返回序列包含的元素个数,min和max则是最小最大值。

列表中有一个list函数可以将任何序列,字符串转换为列表,而元组中也有一个tuple可以将一个序列作为参数,转换为元组。

基本的列表操作

1、修改列表:给元素赋值

x=[1,2,3]

x[1]=1

输出x结果为[1,1,3],将值1赋值给元素2

2、删除元素

x=[1,2,3]

del x[0]

输出x结果为[2,3],元素1被删除

3、给切片赋值

name = list('python')

name[1:]=list('aaaaa')

输出name结果为paaaaa,还有在不替换原有元素情况下还可以用作插入新元素。

列表的方法

1、append将一个对象附加到列表末尾

2、clear清空列表内容

3、copy复制列表

4、count计算指定的元素在列表中出现了多少次。

5、extend同时将多个值附加到列表末尾

6、index在列表中查找指定值第一次出现的索引

7、insert将一个对象插入列表

8、pop从列表中删除一个元素,默认是最后一个元素

9、remove用于删除第一个为指定值的元素

10、reverse按相反的顺序排列列表中的元素,其实就是倒叙

11、sort将列表正序排序

12、高级排序(sort可接受两个可选参数key和reverse,要根据长度对元素排序,可将参数key设置为函数len)

x=["aaaa","bb","ccc","d"]

x.sort(key=len)

输出x结果为["d","bb","ccc","aaaa"],另一个参数reverse=True即倒叙。

你可能感兴趣的:(第二章:列表和元组)