Python语言包含6种内建的序列,其中,有两种主要的类型:列表和元组。
列表是可以修改的,而元组不可以,如果要添加或者删除某些元素,就只能用列表,为了限制某些元素,就会用到元组。一般来说,列表可以替代元组。在列表之中,有索引,分片,加,乘等等。
一、list(列表) 用方括号[]
列表是Python的一种内置数据类型,list是一种有序的集合,可以随时添加和删除其中的元素。
获取list中的元素用角标获取,角标可以使用正角标,也可以使用负角标,越界时抛出IndexErro
list中的元素的数据类型也可以不一样(就像Java一样),也可以在list内放另外一个list,这样也就形成了一个多维集合
常用的方法有:
1.len()获取列表的长度
2.X.append(“你好”) 向列表中添加元素
3.X.pop()弹出末尾元素
1 zoo = ['pig','tiger','dog']
2 print(len(zoo))
3 zoo.append("nihao")
4 print(zoo)
5 print(zoo.pop())
6 print(zoo[0])
7 print(zoo[-1])
单列表操作
1 # 元组操作
2
3 x = [5, 6, 2, 1, 6, 7, 2, 7, 9]
4
5 # append()方法,就是在列表尾部添加元素
6 x.append(2)
7 print(x)
8
9 # insert(开始位置,插入的值),插入一个元素到指定位置
10 x.insert(2, 99) # 2是索引,表示这个元素要放什么位置,99是插入的元
11 print(x)
12
13 # 删除元素 remove()
14 x.remove(2) # 这个2是指一个元素不是索引,如果多个,默认移除第一个
15 print(x)
16
17 x.remove(x[2]) # 根据索引,直接移除索引对应的元素
18 print(x)
19
20 # pop(),移除列表尾部最后一个元素
21 x.pop()
22 print(x)
23
24 # 列表引用
25 print(x[0:5]) # 相当于一个范围,从左边索引到右边索引,但是不包括右边索引
26
27 # -1 索引代表最后一个元素,-2代表倒数第二个
28 # 此时x= [5, 6, 1, 6, 7, 2, 7, 9]
29 print(x[-1])
30 print(x[-2])
31
32 # 查找某一个元素的索引值,一下1的索引应该是2
33 print(x.index(1))
34
35 # 计算某一个元素出现的次数
36 print(x.count(6)) # 元素6出现了2次
37
38 # 排序,默认从小到大
39 x.sort()
40 print(x)
41
42 # 字母排序
43 y = ['Janet', 'Jessy', 'Anthony', 'Tom', 'Alice', 'Bob']
44 y.sort()
45 print(y) # 注此处的y为重新排序的y,,y.sort()没有对应的返回值
多列表
1 # 多维列表
2
3 x = [[5, 6], [6, 7], [7, 2], [2, 5], [4, 9]]
4
5
6 # 根据索引引用列表元素,例如打印【6,7】
7 # print(x[1])
8 # 打印【6,7】中的7
9 print(x[1][1])
10
11
12
13
14
15 # 三维
16 y = [[[5, 7], [6, 6]], [[6, 6], [7, 8]], [7, 2], [2, 5]]
17 # 打印[[6,6],[7,8]]这个部分中的[6,6]里的第一个6
18 print(y[1][0][0])
19 # y看起来有的晕,我们换一个写法
20
21 y = [
22 [[5, 7], [6, 6]],
23 [[6, 6], [7, 8]],
24 [7, 2],
25 [2, 5]
26 ]
27 # 这样稍微清晰,一点,Y有4个元素,前面两个是两两二维组成,后面两个是单独的二维
二、tuple(元组) 用小括号()
元祖也是一种有序列表,和list非常类似,不同点是tuple一旦定义了就不可修改,在一定意义上这也提高了代码的安全性,查询方法和list一样,使用的时候能用tuple的就用tuple。
在定义只有一个元素的元祖时加入"逗号"以免产生和数学运算的歧义
可变的tuple
当元祖内部放一个列表的时候,这个元祖中的列表的值就可以变化了,实际上tuple并没有改变,变的是内部list的值
1 country = ('bj',['sh','gd'])
2 print(country[1])
3 print(country[1][0])
4 country[1][0] ="nihao"
5 print(country[1][0])
三、字典
Dictionary (字典) : 用{}来定义
Dict={'name':'Pei', 'age':'26'}
1 # 字典
2
3 # 我们随便设计几个城市的明天的最高温度
4 tem ={'北京':22,'上海':23,'深圳':24,'广州':25,'南京':26}
5
6 print(tem)
7
8 # 打印广州最高温度
9 print(tem['广州'])
10
11 # 字典中添加一个元素
12 tem['重庆'] = 28
13 print(tem)
14
15 # 删除上海
16 del tem['上海']
17 print(tem)
18
19 # 更新某一个值
20 tem['北京'] = 28
21 print(tem)
# 字典
# 字典里嵌套列表
tem = {'北京': [22, '多云'], '上海': [23, '晴天'], '深圳': [23, '小雨'], '广州': [23, '阴天']}
print(tem)
# 打印北京天气整体情况
print(tem['北京'])
# 打印北京最高温度
print(tem['北京'][0])