3.Python容器使用入门
1、列表
1.1、列表定义
列表用来顺序存储相同或者不同类型数据的集合,列表内存储的元素是有序的,列表使用一对[ ]表示,列表中存储的每个值叫元素,元素之间使用逗号隔开
# 存储相同数据类型
name_list=["张三","李四","王五"]
# 打印数据类型
print(type(name_list))
print(name_list)
#存储不同数据类型
info=["张三","男",20]
print(info)
1.2、向列表添加元素
info_list=[["张三","男",20],["王五","男",16]]
# 1.append()方法
new_info=["李四","男",18]
info_list.append(new_info)
print(info_list)
# 2.insert()方法
new_info=["小美","女",18]
info_list.insert(1,new_info)
print(info_list)
# 3.extend()方法
new_infos=[["马六","男",18],["小黑","女",18]]
info_list.extend(new_infos)
print(info_list)
# 4.使用+号拼接
str_list1=["a","b","c"]
str_list2=["e","f","g"]
str_list3=str_list1+str_list2
print(str_list3)
1.3、修改列表中元素值
# 索引修改元素值
info_list=["小美","女",20]
#年龄涨一岁
info_list[2]+=1
print(info_list)
1.4、查询列表中元素
# 根据索引查询
info_list=["小美","女",20]
name=info_list[0]
sex=info_list[1]
age=info_list[2]
print("姓名:{},性别:{},年龄:{}".format(name,sex,age))
# for循环遍历
for i in range(0,len(info_list))
print(info_list[i]) # 索引查询值
for item in info_list
print(item) #直接遍历元素
# while循环遍历
i=0
while i < len(info_list):
print(info_list[i])
i+=1
1.5、删除列表中元素
# del删除指定下标的元素
info_list=["小美","女",20]
del info_list[2]
print(info_list)
# remove()方法
info_list=["小美","女",20]
info_list.remove("女")
print(info_list)
# pop()方法
info_list=["小美","女",20]
info_list.pop(1) # 根据指定索引删除
print(info_list)
info_list.pop() # 默认从列表的末尾删除一个元素
print(info_list)
1.6、列表切片
'''
语法格式 list[start:end:step]
start:开始索引
end:结束索引
step:步长,默认是1
注:切片的截取范围是左闭右开
'''
str_list=["a","b","c","d","e","f"]
print(str_list[:3]) #截取前三个
print(str_list[3:]) #截取后三个
print(str_lsit[1::2]) #从下标是1开始截取,步长是2
1.7、列表元素排序
num_list=[1,9,7,3,8,0]
num_list.sort() #升序
print(num_list)
num_list.sort(reverse=True) #降序
print(num_list)
2、元组
2.1、元组使用一对小括号表示
#定义元组
tp=(1,2,3)
#定义空元组
tp_none=()
2.2、元组与列表区别
- 相同点:都是可以顺序存储相同数据类型或者不同数据类型的元素
- 不同点:元组被定义后不能修改其中元素,元组不支持添加,修改,删除元素操作
2.3、查询元组中元素
info_tp=("小美","女",20)
# 索引查询
name=info_tp[0]
sex=info_tp[1]
age=info_tp[2]
print("姓名:{},性别:{},年龄:{}".format(name,sex,age))
# for循环遍历
for item in info_tp
print(item) #元素直接遍历
# while循环遍历
i=0
while i < len(info_tp):
print(info_tp[i])
i+=1
3、字典
3.1、字典定义
字典主要用于存储key-value键值对形式的数据,字典使用一对{ }表示,一个元素就是一个键值对,多个元素之间使用逗号隔开。
#定义字典
info_dict={"name":"张三","sex":"男","age":20}
print(info_dict)
3.2、向字典中添加键值对
info_dict={"name":"张三","sex":"男","age":20}
info_dict["tel"]="13056785678"
print(info_dict)
3.3、修改字典中键值对
info_dict={"name":"张三","sex":"男","age":20}
age=info_dict.get("age",0)
print("原age:{}".format(age))
info_dict["age"]=18
age=info_dict.get("age",0)
print("修改后age:{}".format(age))
3.4、查询字典中键值对
# 根据key查询值(不存在的key会报错)
info_dict={"name":"张三","sex":"男","age":20}
age=info_dict["age"]
print("age:{}".format(age))
# 根据get()函数查询
info_dict={"name":"张三","sex":"男","age":20}
age=info_dict.get("age") #key存在
print("age:{}".format(age))
tel=info_dict.get("tel") #key不存在
print("tel:{}".format(tel))
tel=info_dict.get("tel","10000") #key不存在,给默认值
print("tel:{}".format(tel))
3.5、删除字典中键值对
info_dict={"name":"张三","sex":"男","age":20}
del info_dict["age"]
print(info_list)
3.6、遍历字典
info_dict={"name":"张三","sex":"男","age":20}
# 根据key遍历
for key in info_list.keys():
print("{}:{}".format(key,info_list[key]))
# 根据value遍历
for value in info_list.values():
print(value)
# 根据键值对
for item in info_list.items():
print("item:",item)
print("key:",item[0])
print("value:",item[1])
for key,value in info_list.items():
print("{}:{}".format(key,value)
4、集合
4.1、集合定义
集合使用类型set,集合用于无序存储相同或者不同数据类型的元素,集合使用一对{ }表示,与字典不同集合内的值不是键值对,是单独的数值。
#集合定义
id_set={"1","2","3"}
#打印类型
print(type(id_set))
print(id_set)
4.2、set函数创建集合
#列表或者元组使用set()创建集合
id_list=["a","b","c","a"]
id_list_set=set(id_list)
print(id_list_set)
id_tuple=("a","b","c","a")
id_tuple_set=set(id_tuple)
print(id_tuple_set)
#字符串
str_set=set("hello")
print(str_set) #按字母拆分并去重
4.3、集合中使用in和not in
id_set={"a","b","c"}
# in
id="c"
for id in id_set:
print("{}存在".format(id))
# not in
id="f"
for id not in id_set:
print("{}不存在".format(id))
4.4、向集合中添加元素
id_set={"a","b","c"}
# add()方法
id_set.add("d")
print(id_set)
# update()方法
id_set.update(["d","d"]) #列表
print(id_set)
id_set.update(("e","f")) #元组
print(id_set)
new_id_set={"aa","bb"}
id_set.update(new_id_set) #添加集合
print(id_set)
id_set.update(["cc","dd"],["ff","ee"]) #多个列表
print(id_set)
id_set.update("aaaaaaa") # 字符串,拆分,去重
print(id_set)
4.5、删除集合中的元素
# remove()方法
id_set={"a","b","c"}
id_set.remove("a") #存在a删除不报错
print(id_set)
id_set.remove("a") #不存在a删除报错
# discard()方法
id_set={"a","b","c"}
id_set.discard("a") #存在a删除不报错
print(id_set)
id_set.discard("a") #不存在a删除不报错
print(id_set)
# pop()方法
id=id_set.pop()
print(id_set)
print("被删除元素:",id)
4.6、集合中的交集、并集、差集操作
# 交集(&、intersection() )
num_set1={1,2,3}
num_set2={2,3,4}
num_set3=num_set1&num_set2 # 使用&运算求交集
num_set4=num_set1.intersection(num_set2) # 使用intersection方法求交集
print(num_set3)
print(num_set4)
# 并集(|、union() )
num_set1={1,2,3}
num_set2={2,3,4}
num_set3=num_set1|num_set2 # 使用|运算求并集
num_set4=num_set1.union(num_set2) # 使用union方法求并集
print(num_set3)
print(num_set4)
# 差集(-、difference() )
num_set1={1,2,3}
num_set2={2,3,4}
num_set3=num_set1-num_set2 # 使用-运算求差集
num_set4=num_set1.difference(num_set2) # 使用difference方法求差集
print(num_set3)
print(num_set4)