列表
列表的定义
- list(列表)是python中使用最频繁的数据类型,在其它语言中通常叫做数组
- 专门用于存储一串信息
- 列表用[]定义,数据之间使用,分隔
- 列表的索引从0开始
索引就是数据在列表中的位置编号,索引又可以被称为下标
注:从列表取值时,如果超出索引范围,程序就会报错
对列表的操作
image.png从列表中取值和索引、修改指定位置的数据、增加、删除
# 取值和取索引
name_list = ["zhangsan","lisi","wangmazi"]
name_list[0]
name_list[1]
name_list[2]
print(name_list[0],name_list[1],name_list[2])
# 知道数据内容,想确定数据在列表中的位置
# 使用index方法需要注意的是,如果传递的参数不在列表中,那么程序会报错
print(name_list.index("lisi"))
# 修改
name_list[1] = "李四"
print(name_list[1])
# 增加
# append方法可以向列表的末尾追加数据
name_list.append("wangxiaoer")
print(name_list)
# insert方法可以在列表的指定索引位置插入数据
name_list.insert(1,"小美眉")
print(name_list)
# extend方法可以把其他列表中的完整内容,追加到当前列表的末尾
temp_list = ["孙悟空","猪八戒","沙师弟"]
name_list.extend(temp_list)
print(name_list)
# 删除
# renove方法可以从列表中删除指定的数据
name_list.remove("wangmazi")
print(name_list)
# pop方法默认可以把列表中最后一个元素删除
name_list.pop()
print(name_list)
# pop方法可以指定要删除元素的索引
name_list.pop(3)
print(name_list)
# clear方法可以清空列表
name_list.clear()
print(name_list)
# (知道)使用del关键字(delete)删除列表元素
# 在日常开发中,要从列表删除数据,建议使用列表提供的方法
name_list = ["张三","李四","王麻子"]
print(name_list)
del name_list[1]
# 注意,如果使用del关键字将变量从内存中删除
# 后续的代码就不能在使用这个变量了
print(name_list)
# len(length 长度)可以统计列表中元素的总数
name_list = ["张三","李四","王麻子"]
print(name_list)
list_len = len(name_list)
print(list_len)
# count方法可以统计列表中某一个数据出现的次数
name_list = ["张三","李四","王麻子","张三"]
count = name_list.count("张三")
print("张三出现了%d次" %count)
# remove从列表中删除第一次出现的数据,如果数据不会存在,程序会报错
name_list.remove("张三")
print(name_list)
image.png
列表的排序和反转
# sort升序
name_list = ["zhangsan","lisi","wangmazi"]
num_list = [3,4,1,98,6,46,888,555,666,000,999]
name_list.sort()
num_list.sort()
print(name_list)
print(num_list)
# sort降序
name_list.sort(reverse=True)
num_list.sort(reverse=True)
print(name_list)
print(num_list)
# 逆序(反转)
name_list.reverse()
num_list.reverse()
print(name_list)
print(num_list)
image.png
列表的迭代遍历
- 遍历就是从头到尾从列表中获取数据
- 在循环体内部针对每一个元素,执行相同的操作
使用for就能实现迭代遍历
# 使用迭代遍历列表
"""
顺序的从列表中依次获取数据,每一次循环过程中,
数据都会保存在my_name这个变量中,
在循环体体内部可以访问到当前这一次获取到的数据
"""
name_list = ["张三", "李四", "王麻子", "张三"]
for my_name in name_list:
print("我的名字是%s" % my_name)
image.png
元祖
-(Tuple) 元祖与列表相似,不同之处在于元组的元素不能修改
- 元祖表示多个元素组成的序列
- 元祖在python开发中,有特定的应用场景用于储存一串信息,数据之间使用,分隔
- 元祖用()定义
- 元祖的索引从0开始
元组变量的定义
# 创建一个空元组
kong_tuple = ()
print(kong_tuple)
# 创建一个只有一个元素的元组,需要在数据后面跟上一个逗号
single_tuole = (5,)
print(single_tuole)
image.png
元组变量的常用操作
# 取值和取索引
info_tuple = ("zhangsan",18,1.75)
print(info_tuple[0])
# 已经知道数据的内容,希望知道该数据在元组中的索引
print(info_tuple.index("zhangsan"))
# 统计计数
print(info_tuple.count("zhangsan"))
# 统计元组中包含的元素的个数
print(len(info_tuple))
image.png
循环遍历元组
- 在python中,可以使用for循环遍历所有非数字型的变量:列表、元组
字典、字符串 - 在实际开发中,除非能够确认元组中的数据类型,否则针对元组的循环遍历需求不是很多
info_tuple = ("zhangsan",18,1.75)
for my_tuple in info_tuple:
print(my_tuple)
image.png
应用场景
- 函数的参数和返回值,一个函数可以接收任意多个参数,或者一次返回多个数据
- 格式字符串,格式化字符串后面的()本质上就是一个元组
- 让列表可以不被修改
元祖和格式化字符串
print("%s的年龄是%d,身高是%.2f" % ("张三",18,1.78))
info_tuple = ("lisi",19,1.75)
#格式化字符串后面的()本质上就是元组
print("%s的年龄是%d,身高是%.2f" % info_tuple)
image.png
元组和列表之间的转换
info_tuple = ("zhangsan",18,1.75)
num_list = [1,2,3,4,5,6]
tuple = tuple(num_list)
print(tuple)
list = list(info_tuple)
print(list)
image.png
字典
- 字典是除列表以外在python中最灵活的数据类型
- 字典同样可以用来存储多个数据
- 通常用来描述一个物体的相关的信息
- 和列表的区别
列表是有序的数据集合
字典是无序的数据集合 - 字典用{}定义
- 字典使用键值对存储数据,键值对之间使用,分隔
- 键(key)是索引
- 值(value)是数据
- 键和值必须使用:分隔
- 键必须是唯一的
-
值可以取任何数据类型,但键只能使用字符串、数字、或元组
image.png
# 通常输出的顺序和定义的顺序是不一致的
zhangsan = {"name":"zhangsan",
"age":18,
"gender":True,
"height":1.75,
"weight":75.5}
print(zhangsan)
image.png
字典的增删改查
# 取值
# 在取值的时候,如果指定的key不存在,程序会报错
print(zhangsan_dict["name"])
# 增加/修改
# 如果key不存在,会新增键值对
zhangsan_dict["age"] = 18
print(zhangsan_dict)
# 如果key存在,会修改已经存在的键值对
zhangsan_dict["name"] = "lisi"
print(zhangsan_dict)
# 删除
# 在删除指定键值对的时候,如果指定的key不存在,程序会报错
zhangsan_dict.pop("name")
print(zhangsan_dict)
image.png
字典的统计、合并、清空操作
# 统计键值对数量
zhangsan_dict = {"name":"zhangsan",
"age":18}
len = len(zhangsan_dict)
print(len)
# 合并字典
temp_dict = {"height":1.75}
zhangsan_dict.update(temp_dict)
print(zhangsan_dict)
# 清空字典
zhangsan_dict.clear()
print(zhangsan_dict)
image.png
字典的循环遍历
zhangsan = {"name":"zhangsan",
"age":18,
"gender":True,
"height":1.75,
"weight":75.5}
for k in zhangsan:
print("%s - %s" %(k,zhangsan[k]))
image.png
应用场景
# 使用多个键值对描述一个物体的相关信息——描述更复杂的数据
# 将多个字典放在一个列表中
cart_list = [
{"name": "zhangsan",
"age": 18,
"gender": True,
"height": 1.75,
"weight": 75.5},
{"name": "lisi",
"age": 20,
"gender": False,
"height": 1.60,
"weight": 42.5},
]
for cart_info in cart_list:
print(cart_info)
image.png
网友评论