一、列表
作为Python内置的一种数据类型,是一种有序的集合,可随时增,删,改其中的元素。列表中的元素不必全是相同的类型(与C语言强大的地方) 如: list1 = [‘Mari’, ‘Tom’, 100, 1234]
常见列表操作 1、列表的长度
格式: len(列表名) 如: namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’] len(namesList)
2、列表的访问
用索引来访问list中每个位置的元素, 记得索引从0开始 格式:列表变量名[索引] 如: namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’] print(namesList[0]) print(namesList[1]) print(namesList[2]) print(namesList[3]) 注意:当索引超出列表范围时,Python会报IndexError错误,因此遍历列表时最后一个元素索引为len(namesList)-1
索引为负数即取倒数第几个元素
print(namesList[-1]) print(namesList[-2]) print(namesList[-3])
3、列表的切片
格式 :列表名[起始下标 :结束下标:步长] 注意:起始下标默认0, 结束下标为不包含,步长默认是1
4、添加元素(append, extend, insert)
1)通过append向列表添加元素 格式:列表变量名.append(添加的元素或列表名) 如: namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’] print("------添加之前, 列表原数据------") for tempName in namesList: print(tempName)
name = input(‘请输入你要添加的学生姓名:’) namesList.append(name)
print("------添加之后, 列表原数据------") for tempName in namesList: print(tempName)
2)通过extend可以将另一个集合中的元素逐一添加到列表 格式:列表变量名.extend(添加的元素或列表名) 3)通过insert在指定位置前插入元素 5、修改元素
格式:列名[索引] = 更新值 如: namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’] print("------修改之前, 列表原数据------") for tempName in namesList: print(tempName)
namesList[1] = ‘xiaoHong’
print("------修改之后, 列表原数据------") for tempName in namesList: print(tempName)
6、查找元素
查找即看指定元素是否存在 Python中查找的常用 方法: in(存在),如果是结果为True,否则为False not in(不存在),如果不存在那么结果为true, 否则为false
或使用index,count namesList.index(findName, 0, len(namesList)) namesList.count(findName)
7、删除元素
列表常用删除元素方法: del:根据下标进行删除 pop:删除最后一个元素 remove:根据元素的值进行删除
8、列表的排序
sort方法可将列表按特定顺序重新排序,默认由小到大,参数reverse=True可改为降序,由大到小 reverse方法是将列表逆置 如:
9、列表的遍历
为更有效的输出列表的每个数据, 可以使用for或while循环来完成 如: namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’] for i in range(len(namesList)): print(namesList[i])
for name in namesList: print(name) namesList = [‘xiaoWang’, ‘xiaoHuang’, ‘xiaoLi’] length = len(namesList) i = 0 while i < length: print(namesList[i]) i += 1 二、元组
也是一种有序列表,与list类似,但是一旦初始化就不能修改, 且没有append(), insert()这样的方法,获取元素的方法与list一样 如: classmates = (‘Michael’, ‘Bob’, ‘Tracy’) 定义 空元组 t = ()
三、字典
1、定义及格式
字典是另一种可变容器模型,且可存储任意类型对象 字典的每个键值(key=>value)对用 冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中 如: d = {‘Michael’: 95, ‘Bob’: 75, ‘Tracy’: 85} 取值: d[‘Michael’] 如果 Key不存在,dict会报错
2、字典常用操作
1)修改元素
通过key找到要修改的元素,即可修改 如: info = {‘name’: ‘abc’, ‘id’: 100, ‘sex’: ‘m’, ‘address’: ‘中国上海’} new_id = input(‘请输入新学号:’) info[‘id’] = int(new_id) print(‘修改之后的id为:%d’ % info[‘id’])
2)添加元素
若访问不存在的元素,会报错 如: info = {‘name’: ‘abc’, ‘sex’: ‘m’, ‘address’: ‘中国上海’} print(‘id为:%d’ % info[‘id’])
添加字典元素的 方法和更新类似 如: info = {‘name’: ‘abc’, ‘sex’: ‘m’, ‘address’: ‘中国上海’} Id = input(‘请输入新的学号:’) info[‘id’] = Id print(‘id为:%d’ % info[‘id’])
3)删除元素
del/clear()
del删除指定元素
格式:del 字典变量名[键名] 如: info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’} print(‘删除前name:%s’ % info[‘name’]) del info[‘name’] print(‘删除后name:%s’ % info[‘name’])
del删除整个字典
格式:del 字典变量名 如: info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’} print(‘删除前字典:%s’ % info) del info print(‘删除后字典:%s’ % info)
clear清空整个字典 格式:字典变量名.clear() 如 :
4)获取字典键值对个数
格式:len(字典变量名) 如: info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’} print(len(info))
5)返回字典中所有键
格式:字典变量名.keys() 如: info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’} print(list(info.keys()))
6)返回字典中所有值
格式 :字典 变量名.values() 如: info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’} print(list(info.values()))
7)返回包含所有键值的元组
格式:字典变量名.items() 如: info = {‘name’: ‘abc’, ‘id’: 123, ‘sex’: ‘m’, ‘address’: ‘中国上海’} print(info.items()) print(list(info.items()))
注:items()返回的是元组,用 list()可将元组转换为列表
四、集合(set)
1、定义
集合是一个无序不重复的序列 可以用大括号{}或set()函数创建 集合, 注:创建一个空集合必须用 set()而不是{}, {}用于创建空字典 如: my_set = { 2, 3, ‘efg’, ‘hi’} 集合不支持下标赋值和取值
2、遍历集合:
定义空集合 my_set = set() my_set.add(1) my_set.add(1) print(my_set, type(my_set))
4、集合可以对容器中数据去重
my_list = {1, 3, 3, 1, 5, 2} my_set = set(my_list) print(my_set) my_list = list(my_set) print(my_list)