一、列表:
1.1 初识列表:
why:
字符串的缺点:
1,只能存储少量的数据。
2,s = '1True[1,2,3]' 无论索引,切片 获取的都是字符串类型,单一,转化成它原来的类型还需要再一步转换。
what: python基础数据类型之一:list列表。
列表是以中括号组成,每个元素以逗号隔开的,容器型数据类型。
[1, '太白', [1,2,3],True, {'name': 'alex'}, (22,33)]
其它语言:js语言中叫数组。
列表是一个有序的可以存储大量的数据的数据类型。
how:
两个方面:
1 列表的切片
2 列表的常用操作
where:
程序中如果需要你构建一个容器型数据并且是按照顺序存储的大量的数据,你要用到列表。
1.2列表操作:
1.2.1 列表切片:
1 l1 = ['太白', 100, 'alex', '日天', '武大', '吴老师', '景女神']
2 # 列表的索引
3 ret = l1[0]
4 ret1 = l1[1]
5 print(ret1,type(ret1))
6 print(l1[-1])
7 print(l1[-2])
8 # 切片 顾头不顾腚
9 print(l1[:4])
10 print(l1[:5:2])
11 # 倒叙取值
12 print(l1[-1:-4:-1])
View Code
1.2.2 列表方法:
1 # 增
2 li = [1, 'a', 'b', 2, 3, 'a']
3 li.extend(['q,a,w']) # 迭代的去增,每个列表元素为一个整体
4 li.extend(['q,a,w','aaa'])
5 li.extend('a')
6 li.extend('abc') # 在末尾增加元素,每次迭代增加
7 li.extend('a,b,c')
8 print(li)
9
10 li.insert(0,55) #按照索引去增加
11 print(li)
12
13 li.append('aaa') # 增加到最后
14 li.append([1, 2, 3]) # 增加到最后,增加元素为一个整体进行迭代
15 print(li)
16
17 # 删
18 # 删除操作,只有pop方法有返回值,其他无返回值
19 li = [1, 'a', 'b', 2, 3, 'a']
20 l1 = li.pop(1) #按照位置去删除,有返回值
21 print(l1)
22
23 del li[1:3] #按照位置去删除,也可切片删除没有返回值。
24 del li[::2]
25 print(li)
26
27 li.remove('a') #按照元素去删除,只能删除列表中查找的第一个元素,如想多个操作可以使用for进行删除同名元素
28 print(li)
29
30 li.clear() #清空列表
31
32 # 改
33 li = [1, 'a', 'b', 2, 3, 'a']
34 li[1] = 'aa'
35 li[1:3] = 's' # 顺序改动列表时,改动元素个数可以与原元素个数不同
36 li[:5:2] = 'abc' # 设定步长改动列表时,改动元素个数必须与原元素个数相同,否则报错
37 print(li)
38
39 # 查:
40 # 按照索引,按照切片(步长查询)
41 # for 循环
42 for i in l1:
43 print(i)
View Code
1 # 其他方法:
2
3 l1 = ['武大', '太白', '吴老师', '武大', '武大']
4 # len 方法:
5 print(len(l1)) # 获取列表的长度(总个数)
6
7 # count 计算某个元素出现的次数
8 print(l1.count('武大'))
9
10 # index 通过元素找索引,找到第一个就返回,找不到就报错
11 print(l1.index('太白'))
12 print(l1.index('武大'))
13
14 li = [1, 2, 6, 8, 4, 5]
15 li.sort() # 列表排序操作,从小到大排序
16 li.sort(reverse=True) # 排序后进行翻转
17 li.reverse() # 列表翻转
18 print(li) # 列表排序方法
19
20 print(sorted(li)) # sorted()方法列表排序
View Code
二、元组:
1.1 特点:
只读列表。
是python中基础数据类型之一,容器型数据类型,存储大量的数据。
()里面的元素以,隔开的数据类型。
例:(1, '太白', [1,2,3],True, {'name': 'alex'}, (22,33))
其他语言中,没有元组的概念。
元组是默认不可以进行修改的,只能查询:
元组顶层数据不能更改,但是内部存在可以修改的字典和列表则能对内部指定数据做操作,如果内部是元组,则还是不能修改
元组中存储的都是重要的数据,个人信息等等。
1.2 应用:
如果你想存储一些重要的数据,这些数据只读,不能修改,那么你就放到元组中。
1.3 元组操作:
1 # tuple元组
2 tu1 = (1, 'alex', [1, 2, 3], True)
3 # 可索引,切片
4 print(tu1[1])
5 print(tu1[:3])
6
7 # 元组只能查不能改
8 # 索引,切片(步长) 查询
9 for i in tu1:
10 print(i)
11
12 print(len(tu1)) # 计算元组长度
13 print(tu1.count('alex')) # 获取元素个数
14 print(tu1.index('alex'))
15
16 # 可以删除元组
17 del tu1
18 print(tu1)
19
20 # 元组顶层数据不能更改,但是内部存在可以修改的字典和列表则能对内部指定数据做操作,如果内部是元组,则还是不能修改
21 tu1 = (1, 'alex', [1, 2, 3], True, (1, 2, 3))
22 # 儿子不能改,孙子可能改。
23 tu1[2].append('太白')
24 print(tu1)
View Code
三、range函数:
1.1 特点:
内置函数,python给你提供的一个功能。
将range视为:可控制范围的数字列表。
1.2 range操作:
1 # 顾头不顾腚
2 # 指定输出1 ~ 100
3 for i in range(1, 101):
4 print(i)
5
6 # 指定步长:
7 for i in range(2, 101, 2):
8 print(i)
9
10 # 指定输出10 ~ 1
11 for i in range(10, 0, -1):
12 print(i)
13
14 # 如果输出从0开始则不用指定起始索引
15 for i in range(10):
16 print(i)
View Code