一:上节回顾:
二,列表---LIST:
- List 是python 中基础数据类型之一(str int bool list)
- 列表是以括号组成,每个元素以逗号隔开,是容器数据类型。
- 列表是一个有序的可以储存大量数据的数据类型
---------列表与str 比较:
三.列表的功能使用:
1 索引和切片:等同与字符串的索引和切片,顾头不顾尾。
2 列表四大天王:
1:增.append
l1=['guohui','qiming','shuanglou','yifan']
#append:
# l1.append('handman')
# print(l1)
#l1.append(100)
# l1.append(['123'])
# print(l1)
在列表中后面添加
2:insert,插入----根据索引插入,不索引会报错
3:extend;迭代的添加,如果是字符串就将字符串拆开跌加如果是列表以逗号分别跌加
4:pop 删除,按索引删除,有返回值,不索引默认最后一个
1=['guohui','qiming','shuanglou','yifan']
#ret=l1.pop(0)
#print(ret)
--Clear:清空列表---[]
----Del ---删除—无返回值---可以索引删除,也可以切片/加步长删除
删除列表del l1 直接报错(不需要➕任意符号比如,或者.)
----Remove:按照元素去删除
emove:按照元素删除
# l1.remove('qiming')
# print(l1)
----改:可索引可切片去改—根据索引把该区域移除,将等号右边迭代加入到列表中:如下
*如果是切片+步长去改,改几个量就要对应加几个差一个多一
个便会报错
false
True:
3其它:len / count/index
-----计算列表长度(总个数)
-----计算该元素(字符串)在列表中出现次数
-----通过元素找到其索引,不可find,找不到报错
- 排序:
- sort:排序,从小到大排序
- l1.sort(reverse=True).从大到小排序
- reverse:直接将列表中的数字倒放(没有大小区分
- 练习
-
列表相比字符串来说能存储大量数据的python的基本数据类型,并且也拥有字符串的一些方法(索引,切片等等) 列表是以[]中括号组成,每个元素以,逗号隔开的,容器型数据类型。 列表中的常见的方法 l1 =['kobe','james','t-mac','123',789,[123,'admin']] 索引 print(l1[1]) print(ret1,type(ret1)) print(l1[-1]) 切片 顾头不顾腚 print(l1[:4]) print(l1[:5:2]) 倒叙取值 print(l1[-1:-4:-1]) 增加 l1.append('123') #追加增加 l1.insert(1,'123') #在索引为1的位置插入 l1.extend([123,'ab']) #迭代的而加入是:根据要添加的类型进行一次迭代之后,在添加到列表中。如果添加的时字符串,就分割之后,添加到列表。 #如果添加的是列表,就循环列表,在分别添加到要添加的列表中。和切片修改是同一个意思,说白了迭代增加的必须是可迭代的元素 删除 l1.pop(0) #按照索引删除,会将删除的元素作为返回值返回 l1.remove('kobe') #按照元素删除,不会返回被删数据 l1.clear() #清空列表 del 删除 del l1[0] #1.按照索引删除,默认删除最后一个 del l1[2:5:2] #按照切片(可以加步长)删除 del l1[:] 或者del l1#删除整个列表 改 l1[0] = "男神" #按索引修改,l1[0]指的时位置,修改l1[0]这个位置的元素的值为男神,本意指的li[0]这个元素,但是放在等号左边就是代表位置,要接受新值 l1[:3] = [123,"1234565"]或者l1[:3] ="123456" #按切片范围修改,要添加的内容必须是可迭代元素,和迭代增加一样 l1[1:4:2] = "12" #切片(加步长):必须一一对应,改了几个就得写几个修改的值,不能多或少 查 按照索引(index),按照切片(步长查询),列表没有find方法 使用for循环 其他操作 len():去长度 index():通过元素找索引,找到第一个就返回,找不到就报错 l1.sort() 从小到大排序#不会生成新的字符串 l1.sort(reverse=True) #从大到小 l1.reverse()翻转 #不会生成新的字符串 other: pop():执行后唯一有返回值的
四:元祖
range:
range函数练习 内置函数,python给你提供的一个功能。 将range视为:可控制范围的数字列表。 #打印1-100 for item in range(1,101): print(item) #打印1-100奇数 for item in range(1,100,2): print(item) #打印1-100偶数 for item in range(2,102,2): print(item) #打印10-1 for item in range(10,0,-1): print(item, '', end='') 注意: 1.range()的起始位置默认为0 2.python2中是一起全部生成,不用迭代出来,直接打印,python3中是先放在内存里面,等使用了再生成。(这也是python3比python2性能上高的一点)
求偶数:
倒取:
练习
python中基础数据类型之一,容器型数据类型,存储大量的数据。只读列表。 元组是()里面的元素以,隔开的数据类型。 其他语言中,没有元组的概念。元组是不可以进行修改的,只能查询。元组中存储的都是重要的数据,个人信息等等。 元组练习 tu1 = (1,'kobe','123',[1,2,'mac',True]) print(tu1[0]) #可以索引 print(tu1[:3]) #可以切片 print(tu1[:4:2]) #可以根据步长切片 查:注意:元组只能查不能改, #根据索引和切片等进行查询或者#根据for循环 for item in tu1: print(item) other del tul print(tu1) #删除元组 print(len(tu1)) #查看元组长度 print(tu1.count("123")) #查看包含字符个数 print(tu1.index("kobe") #和列表,字符串中使用一样,查找元素的索引 元组真的不能修改么? tul = ('123', True, 456, [123, 'jordan', '中文']) tul[3].append('123') print(tul) #:在元组中的元素的是可迭代对象的话,就可以改:儿子不能改,孙子可能改。 有意思的一个问题: tu = (123,1,'123',True) print(tu.index(True)) #这个索引不应该是3么? 因为True和false在内存中存储的是1和0,所以tu.index(True) =tu.index(1),打印这个相当于打印print(tu.index(1))的索引,元组中正好有1这个元素,所以打印1这个元素的索引 #坑 (22) --->int类型,不加,都是元素本身 (s) --->字符串类型