Python基本数据类型--列表

  在人们的现实生活中,数据几乎无处不在。大量的编程都与数据有关:获取数据、处理数据和理解数据。要想有效地处理数据,就需要存储数据。Python提供了一组广泛应用的数据结构:列表,字典,元组以及集合。其中列表和字典是python使用最多的两种数据类型。

  在学习列表前,先思考一个问题,如果我们想要使用python存储一个班的人名,我们可以怎么做?我们可以用多个变量,分别赋值。

  name0='A'

  name1='B

  name2='C'

  虽然使用多个变量可以存储一个班的人名,但是每个变量间却没有任何联系。假如我们想知道B同学后面的是谁?便无法得知。

  还可以使用另一种方法,就是用一个变量存储。如下:

  names='A     B      C'。将所有人名放在一个字符串中,并赋值给一个变量。但是这种方法,我们却不方便拿取数据。

  因此,python中引入列表,既方便存储,也便于读取。列表的创建方法如下:

  a=[1,2,3,4,5],使用中括号,括号内元素使用逗号隔开。

  

列表的基本操作方法包括:查,增,改,删。

a=['wuchao','jinxing','xiaohu','sanpang','ligang']

使用列表存储,便于存储,也便于读取

#查 查数据
切片从索引0开始,a[0:1],不会输出a[1]
从左往右,索引从0开始。从右往左,索引从-1开始
a[0:1]='wuchao'
a[0:]=['wuchao','jinxing','xiaohu','sanpang','ligang']
a[0:-1]=['wuchao','jinxing','xiaohu','sanpang']
步长
a[1:-1:1]从左第二个元素到右倒数第一个数,一个一个取
a[-1:-3:-1]=['ligang', 'sanpang']
步长为正,表示从左往右取数。步长为负,表示从右往左取数。
a[3::-1]=['sanpang', 'xiaohu', 'jinxing', 'wuchao']
a[-2::1]=['sanpang', 'ligang']
a[-2::-1]=['sanpang', 'xiaohu', 'jinxing', 'wuchao']
a[0:1:-1]=[]

#增 切片
两种添加方法
# append 将元素添加到列表最后一位
a.append('zd') #括号里是添加的元素。a是对象,使用.调用方法
a=['wuchao', 'jinxing', 'xiaohu', 'sanpang', 'ligang', 'zd']

# insert 插入元素到某个索引。两个参数,元素和索引
a.insert(2,'zd1') 第一个参数是索引,第二个参数是添加的元素
a=['wuchao', 'jinxing', 'zd1', 'xiaohu', 'sanpang', 'ligang', 'zd']

# 改 没有方法,直接赋值修改
修改一个值
a[0]='zd'
a=['zd', 'jinxing', 'zd1', 'xiaohu', 'sanpang', 'ligang', 'zd']
修改多个值,使用切片
a[0:]=['海底捞'] #切片取出的是一个列表,使用列表进行赋值
a=['海底捞']

#删除 remove pop del
remove #列表内置方法,删除元素,没有返回值
a=['zd', 'jinxing', 'zd1', 'xiaohu', 'sanpang', 'ligang', 'zd']
a.remove('zd')
a=['jinxing', 'zd1', 'xiaohu', 'sanpang', 'ligang', 'zd']
列表中包含多个相同的元素,默认删除从左到右第一个
a.remove('x')
报错:x not in list
a.remove(a[0]) 删除第一个值
a.remove(['wuchao','jingxing']) #报错,remove只能删除元素,不能切片

pop #列表内置方法,通过索引删除,并返回删除的值
a=['zd', 'jinxing', 'zd1', 'xiaohu', 'sanpang', 'ligang', 'zd']
a.pop(1)='jinxing'
a=['zd', 'zd1', 'xiaohu', 'sanpang', 'ligang', 'zd']
不指定索引,默认删除最后一个索引值

del # 不是列表内置方法
a=['zd', 'jinxing', 'zd1', 'xiaohu', 'sanpang', 'ligang', 'zd']
del a[0]
a=['jinxing', 'zd1', 'xiaohu', 'sanpang', 'ligang', 'zd']
del a # 将对象从内存删除

列表其他方法
count 计算列表某个元素出现的次数
a=['1','1','2','2','3','6']
a.count('1')=2
extend 将列表b添加到列表a
b=['z','d']
a.extend(b)=['1', '1', '2', '2', '3', '6', 'z', 'd']
index 求元素索引
a.index('z')=6
多个相同的元素,只取从左到右第一个元素的索引
a.index('1')=0
拓展:如果取第二个元素索引,先取第一个元素索引 1,切片
a[1:].index('1')
再将切片的索引+第一个元素索引+1
reverse 反转,将元素从后往前排序。直接修改a,没有返回值
a.reverse()=['d', 'z', '6', '3', '2', '2', '1', '1']
sort 排序。直接修改a,没有返回值
a.sort() 默认从小到大排序
a.sort(reverse=Ture) 从大到小排序


判断某元素是否在列表中
1.a.count('x')=0,表示不在
2.a.index('x'),查找
3.'x' in a=False,表示不在

 

  

 

posted @ 2019-09-21 11:09  七又七分之七  阅读(189)  评论(0)    收藏  举报