一、字典简介
在Python中,通过数据结构来保存项目中重要的数据信息。Python语言内置了多种数据结构,例如列表,元组,字典和集合等。本堂课我们来讲一讲Python中举足轻重的一大数据结构:字典
1.1.字典特性
-
不可变类型
-
可以嵌套
-
键一般都是字符串,值可以是字符串、列表、字典
1.2 创建字典
格式:字典名 ={键:值}
dict ={"name": "tom", "age": 18, }
# 定义一个名为dict的字典 name,age是键(key)tom,18是值(val)
1.3数据类型转换
-
list() # 将字符串类型转换为列表、将元组类型直接原样转换为列表
str = "abccba" print(list(str)) # 输出结果为 ['a', 'b', 'c', 'c', 'b', 'a']
-
str() # 将整数、浮点是转换为字符串类型
float = 3.1415926 str1 = str(float) print(str1,type(str1)) # 输出结果为 3.1415926 <class 'str'> 类型为字符串
-
int() # 将字符串类型转换为整数【字符串中仅仅有数字,不能有字母】
float = "124" int1 = int(float) print(int1,type(int1)) # 输出结果为 124 <class 'int'> 类型为整数
-
float() # 将字符串类型转换为浮点数【字符串中仅仅有数字,不能有字母】
int = "124" float1 = float(int) print(float1,type(float1)) # 输出结果为 124.0 <class 'float'> 类型为浮点数
-
tuple() # 将列表类型转换为元组
list = [3,1,4,1,5,9,2,6] list = tuple(list) print(list) # 输出结果为 (3, 1, 4, 1, 5, 9, 2, 6)
-
dict() # 将对象转换为字典类型
1.4字典的操作
len(): 返回对象中键值对的数量
dict ={"name": "tom", "age": 18, }
print(len(dict))
# 统计列表中有多少个键值对 输出结果是 2
字典名[key] : 返回字典中指定的key所对应的值
dict ={"name": "tom", "age": 18, }
print(dict["name"])
# 返回字典中指定的key所对应的值 输出结果是 tom
字典名[key] = value :修改字典的中的某个键的值
dict ={"name": "tom", "age": 18, }
dict["name"] = "jack"
print(dict["name"])
# 修改字典的中name的值为jack 输出结果为 jack
del 字典名[key] : 删除字典中的键值对
dict ={"name": "tom", "age": 18,"tel":176, }
del dict["tel"]
print(dict)
# 删除字典中的键值对 输出结果为 {'name': 'tom', 'age': 18}
1.5 字典方法
copy方法 :从字典中复制全部的键值对给一个新的变量
dict ={"name": "tom", "age": 18,"tel":176, }
user_dict =dict.copy()
# 将字典dict复制全部的键值对给user_dict变量
print(user_dict)
# 输出内容为 {'name': 'tom', 'age': 18, 'tel': 176}
item方法 :将字典中的键值对转换成元组/列表的一个一个的元素
dict ={"name": "tom", "age": 18,"tel":176, }
user_dict =dict.items()
# 将字典dict的键值对转换成元组/列表的一个一个的元素
print(user_dict)
# 输出结果为 dict_items([('name', 'tom'), ('age', 18), ('tel', 176)])
clear 方法 :删除字典中的数据
dict ={"name": "tom", "age": 18,"tel":176, }
user_dict =dict.clear()
# 删除字典中的数据
print(user_dict)
keys 方法:将字典的全部的键构成一个列表/元素
dict ={"name": "tom", "age": 18,"tel":176, }
user_dict =dict.keys()
# 将字典的全部的键构成一个列表/元素
print(user_dict)
# 输出结果为 dict_keys(['name', 'age', 'tel'])
values 方法:将字典的全部的值构成一个列表/元素
dict ={"name": "tom", "age": 18,"tel":176, }
user_dict =dict.values()
# 将字典的全部的值构成一个列表/元素
print(user_dict)
# 输出结果为 dict_values(['tom', 18, 176])
二、遍历序列对象
1.1 遍历字符串方法
# 方法1:
str = "abcd hallo world"
for var in str:
print(var)
# 方法2:
str = "abcd hallo world"
num_len = len(str)
for num in range(num_len):
print(str[num])
1.2 遍历列表方法
# 方法1
str = [1,2,8,11,7,3]
for var in str:
print(var)
# 方法2
str = [1,2,8,11,7,3]
num_len = len(str)
for num in range(num_len):
print(str[num])
# 方法3
str = [1,2,8,11,7,3]
num_len = len(str)
for num in range(num_len):
print(str.pop())
# 方法4
str = [1,2,8,11,7,3]
num_len = len(str)
for num in range(num_len):
print(str[num])
del str[num]
1.3 遍历元组的方法
# 方法1
str = (1,2,8,11,7,3)
str = list(str)
for var in str:
print(var)
str = tuple(str)
# 方法2
str = (1,2,8,11,7,3)
num_len = len(str)
str = list(str)
for num in range(num_len):
print(str[num])
str = tuple(str)
1.4 遍历字典的方法
1)遍历字典的key
# 方法1
d1 = {"name":"tom", "age":18, "addr":"hb", "tel":"136666666"}
for var in d1: # 每次循环是将将键赋值给var
print(var,end=" ")
print(d1[var])
# 方法2
d1 = {"name":"tom", "age":18, "addr":"hb", "tel":"136666666"}
v = d1.keys()
for var in v:
print(var)
2)遍历字典的value
d1 = {"name":"tom", "age":18, "addr":"hb", "tel":"136666666"}
v = d1.values()
for var in v:
print(var)
3)遍历字典的键值对
d1 = {"name":"tom", "age":18, "addr":"hb", "tel":"136666666"}
v = d1.items()
for var in v:
print(var