5.1 列表List(列表)是Python中最频繁的数据类型,在其他语言中叫数组
专门用于存储一串信息
列表用[]定义,数据之间使用逗号隔开
列表的索引从0开始
5.1.1列表常用操作
name_list = ["zhagnsan","lisi","wangwu"]
#1.取值和取索引
print(name_list[2])
结果:wangwu
name_list = ["zhagnsan","lisi","wangwu"]
#知道数据的内容,想确定数据所在列表中的位置
print(name_list.index("lisi"))
结果:1
name_list = ["zhagnsan","lisi","wangwu"]
#2.修改
name_list[1] = "李四"
print(name_list)
结果:['zhagnsan', '李四', 'wangwu']
name_list = ["zhagnsan","lisi","wangwu"]
#3.增加
#append方法可以向列表的末尾追加数据
name_list.append("王小二")
print(name_list)
结果:['zhagnsan', 'lisi', 'wangwu', '王小二']
name_list = ["zhagnsan","lisi","wangwu"]
#insert方法可以在列表的指定索引位置插入数据
name_list.insert(1,"小美眉")
print(name_list)
结果:['zhagnsan', '小美眉', 'lisi', 'wangwu']
name_list = ["zhagnsan","lisi","wangwu"]
temp_list = ["孙悟空","猪二哥","沙师弟"]
name_list.extend(temp_list)
print(name_list)
结果:['zhagnsan', 'lisi', 'wangwu', '孙悟空', '猪二哥', '沙师弟']
从列表中删除数据:
#4.删除
name_list = ['zhagnsan', 'lisi', 'wangwu', '孙悟空', '猪二哥', '沙师弟']
name_list.remove("wangwu")
print(name_list)
结果:['zhagnsan', 'lisi', '孙悟空', '猪二哥', '沙师弟']
name_list = ['zhagnsan', 'lisi', 'wangwu', '孙悟空', '猪二哥', '沙师弟']
name_list.pop()
print(name_list)
结果:['zhagnsan', 'lisi', 'wangwu', '孙悟空', '猪二哥']
name_list = ['zhagnsan', 'lisi', 'wangwu', '孙悟空', '猪二哥', '沙师弟']
name_list.pop(0)
print(name_list)
结果:['lisi', 'wangwu', '孙悟空', '猪二哥', '沙师弟']
name_list = ['zhagnsan', 'lisi', 'wangwu', '孙悟空', '猪二哥', '沙师弟']
name_list.clear()
清空整个列表,结果:[]
del关键字:
name_list = ['zhagnsan', 'lisi', 'wangwu', '孙悟空', '猪二哥', '沙师弟']
#使用del删除列表元素
del name_list[1]
print(name_list)
结果:['zhagnsan', 'wangwu', '孙悟空', '猪二哥', '沙师弟']
del关键字本质上是用来将一个变量从内存中删除
列表的排序和反转
name_list = ['zhagnsan', 'lisi', 'wangwu', '孙悟空', '猪二哥', '沙师弟']
num_list = [6,8,4,1,10]
#升序
num_list.sort()
print(num_list)
#降序
num_list.sort(reverse=True)
print(num_list)
#逆序(反转)
name_list.reverse()
print(name_list)
5.1.2 循环遍历
遍历就是从头到尾依次从列表中获取数据在循环体内针对每一个元素,执行相同的操作
name_list = ["张三","李四","王五","王小二"]
#使用迭代遍历列表
for my_name in name_list:
print("我的名字叫 %s"%my_name)
结果:
5.2 元组
tuple(元组)与列表类似,不同之处在于元组的元素不能修改。
定义元组:
定义空元组:
empty_tuple = ()
定义包含一个元素的元组:
5.2.1元组的基本使用
info_tuple = ("zhangsan",18,1.75)
#1.取值和取索引
print(info_tuple[0])
#已经知道数据的内容,希望知道该数据在元组中的索引
print(info_tuple.index("zhangsan"))
结果:
#2.统计计数
print(info_tuple.count("zhangsan"))
#统计元组中包含的元素个数
print(len(info_tuple))
结果:
元组应用场景:函数的参数和返回值,一个函数可以接收任意多个参数,或者一次返回多个数据
格式字符串,格式字符串后面的()本质上就是一个元组
让列表不可以被修改,以保护数据安全
元组与列表之间的转换:列表转元组:tuple函数
元组转列表:list函数
5.3 字典字典是无序的对象集合
字典用{}来定义
字典使用键值对来存储数据,之间用逗号隔开
其中键key是索引
值value是数据
键和值之间使用冒号分隔
键必须是唯一的
值可以取任何数据类型,但是键只能使用字符串、数字或元组
5.3.1字典定义
xiaoming = {"name":"小明","age":18}
print(xiaoming)
结果:
5.3.2字典的操作
xiaoming_dict = {"name":"小明"}
#1.取值
print(xiaoming_dict["name"])
#2.增加/修改
#如果key不存在,会新增键值对
xiaoming_dict["age"] = 18
#如果key存在,会修改已经存在的键值对
xiaoming_dict["name"]="小小明"
print(xiaoming_dict)
#3.删除
xiaoming_dict.pop("name")
print(xiaoming_dict)
结果:
5.3.3字典的其他操作
xiaoming_dict = {'name': '小明',
'age': 18}
#1.统计键值对数量
print(len(xiaoming_dict))
#2.合并字典
temp_dict = {"height":1.75,
"age":20}
#注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
xiaoming_dict.update(temp_dict)
print(xiaoming_dict)
#3.清空字典
xiaoming_dict.clear()
print(xiaoming_dict)
结果:
5.3.4 字典的循环遍历
xiaoming_dict = {"name":"小明",
"qq":"123456",
"Phone":"10086"}
#迭代遍历字典
#变量k是每一次循环中,获取到的键值对key
for k in xiaoming_dict:
print("%s-%s"%(k,xiaoming_dict[k]))
结果:
字典和列表组合的应用场景使用多个键值对,存储描述一个物体的相关信息—描述更加复杂的数据信息
将多个字典放在一个列表中,在进行遍历,在循环体内部针对每一个字典进行相同的处理
card_list = [
{"name":"张三",
"qq":"123456",
"Phone":"110"},
{"name":"李四",
"qq":"568974",
"Phone":"11020"}
]
for card_info in card_list:
print(card_info)
结果: