1. 列表(list)
列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作
1.定义列表
1 names = [‘Alex‘,"Tenglan",‘Eric‘]
2.列表中可以嵌套任何类型
- 中括号起来
- ,分割每个元素
- 列表中的元素可以是 数字,字符串,列表,布尔值....所有的都能放进去
- "集合" ,内部放置任何东西
3.通过下标访问列表中的元素,下标从0开始计数
1 >>> names[0] 2 ‘Alex‘ 3 >>> names[2] 4 ‘Eric‘ 5 >>> names[-1] 6 ‘Eric‘ 7 >>> names[-2] #还可以倒着取 8 ‘Tenglan‘
4.列表的遍历
1 names = [‘Alex‘,"Tenglan",‘Eric‘] 2 for i in names: 3 print(i)
输出:
Alex
Tenglan
Eric
5.追加(append)
append:在列表的最后追加元素
1 names = [‘Alex‘,"Tenglan",‘Eric‘] 2 3 names.append("我是新来的") 4 print(names)
输出:
[‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘我是新来的‘]
6.插入
Insert的用法:
列表.insert(要插入的下标,要插入的内容)
1 names = [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘] 2 3 names.insert(2,"强行从Eric前面插入") 4 print(names)
输出:
[‘Alex‘, ‘Tenglan‘, ‘强行从Eric前面插入‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘]
7.修改
操作:直接将要修改元素覆盖
1 names = [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘] 2 3 names[2] = "该换人了" 4 print(names)
输出:
[‘Alex‘, ‘Tenglan‘, ‘该换人了‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘]
8.删除
(1)del
names = [‘Alex‘, ‘Tenglan‘, ‘该换人了‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘] del names[2]
(2)remove
1 names.remove("Eric") #括号里跟的是元素内容
(3)pop
names.pop(3) #不加下标就是删除最后一个
9.扩展(合并)
1 names = [‘Alex‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘] 2 b = [1,2,3,] 3 names.extend(b) 4 print(names)
输出:
[‘Alex‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, 1, 2, 3]
10.拷贝(copy)
names = [‘Alex‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘] name_copy = names.copy()
11.统计(count)
1 names = [‘Alex‘, ‘Tenglan‘, ‘Amy‘, ‘Tom‘, ‘Amy‘, 1, 2, 3] 2 3 print(names.count("Amy"))
输出: 2
12.排序(sort)
注意:在python3.0中,不同类型的数据不能排序
1 b = [1,5,6,4,3] 2 b.sort() 3 print(b)
输出:
[1, 3, 4, 5, 6]
13.反转(reverse)
1 names = [‘Alex‘, ‘Tenglan‘, ‘Amy‘, ‘Tom‘, ‘Amy‘, 1, 2, 3] 2 3 names.reverse() 4 print(names)
输出:
[3, 2, 1, ‘Amy‘, ‘Tom‘, ‘Amy‘, ‘Tenglan‘, ‘Alex‘]
14.定位(index)
注意:只能返回第一个找到的下标
1 names = [‘Alex‘, ‘Tenglan‘, ‘Amy‘, ‘Tom‘, ‘Amy‘, 1, 2, 3] 2 3 print(names.index("Amy"))
输出:2
15.enumrate
1 list = ["房子", "车子", "票子", "孩子"] 2 for index,product in enumerate(list): 3 print(index,product)
输出:
0 房子 1 车子 2 票子 3 孩子
2.元组(tuple)
定义:元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表
语法:
1 names = ("alex","jack","eric")
它只有2个方法,一个是count,一个是index,完毕。
3.字典(dict)
1.特性
字典的特性:
- dict是无序的
- key必须是唯一的
2.语法
info = { ‘stu1101‘: "TengLan Wu", ‘stu1102‘: "LongZe Luola", ‘stu1103‘: "XiaoZe Maliya", }
3.增加
1 info = { 2 ‘stu1101‘: "张三", 3 ‘stu1102‘: "李四", 4 ‘stu1103‘: "王五", 5 } 6 7 info["stu1104"] = "赵六" 8 print(info)
输出:
{‘stu1101‘: ‘张三‘, ‘stu1102‘: ‘李四‘, ‘stu1103‘: ‘王五‘, ‘stu1104‘: ‘赵六‘}
4.修改
info = { ‘stu1101‘: "张三", ‘stu1102‘: "李四", ‘stu1103‘: "王五", } info["stu1102"] = "尼古拉斯 赵四" print(info)
输出:
{‘stu1101‘: ‘张三‘, ‘stu1102‘: ‘尼古拉斯 赵四‘, ‘stu1103‘: ‘王五‘}
5.删除
pop
info = { ‘stu1101‘: "张三", ‘stu1102‘: "李四", ‘stu1103‘: "王五", } info.pop("stu1103") print(info)
del
info = { ‘stu1101‘: "张三", ‘stu1102‘: "李四", ‘stu1103‘: "王五", } del info[‘stu1103‘] print(info)
6.查找
1 info = { 2 ‘stu1101‘: "张三", 3 ‘stu1102‘: "李四", 4 ‘stu1103‘: "王五", 5 } 6 7 print("stu1102" in info ) #标准用法 8 print(info.get("stu1102") ) #获取,用这个安全 9 print(info["stu1102"]) #同上,但是看下面 10 print(info["stu1105"] ) #如果一个key不存在,就报错,get不会,不存在只返回None
输出:
True
李四
李四
7.多级字典嵌套及操作
1 menu = { 2 "南京":{ 3 "江宁":{ 4 "金科":{}, 5 "晓庄":{}, 6 "南工程":{} 7 }, 8 "浦口":{ 9 "南大":{}, 10 "东南":{}, 11 }, 12 "仙林":{ 13 "南财":{}, 14 "南师大":{} 15 } 16 }, 17 "常州":{ 18 "江理":{} 19 }, 20 "苏州":{ 21 "苏大":{} 22 } 23 }