字典的函数(方法)

  • clear()
1
2
3
4
5
6
字典.clear() #清空字典,但字典任存仔。

friends = {'good':'小王','girl':'小张','boy':'小刘'}
print(friends,id(friends))
friends.clear()
print(friends,id(friends))
  • copy()
1
2
3
4
5
6
字典.copy() #复制字典

friends = {'good':'小王','girl':'小张','boy':'小刘'}
print(friends,id(friends))
result = friends.copy()
print(result,id(result))
  • fromkeys()
1
2
3
4
5
字典.fromkeys(键的容器,值) #使用指定的键容器制作一个字典

lists = ['apple','orange','cherry','banana','pear']#作为字典未来的键
result = {}.fromkeys(lists,'水果')
print(result)
  • keys()
1
2
3
4
5
字典.keys() #获取字典中的键组成新的容器

heros = {'曹操':'孟德','张飞':'翼德','刘备':'玄德'}
result = heros.keys()
print(result,type(result))
  • values()
1
2
3
4
5
字典.values() #获取字典中的值组成新的容器

heros = {'曹操':'孟德','张飞':'翼德','刘备':'玄德'}
result = heros.values()
print(result,type(result))
  • items()
1
2
3
4
5
字典.items() #获取字典的中的键和值组成嵌套容器

heros = {'曹操':'孟德','张飞':'翼德','刘备':'玄德'}
result = heros.items()
print(result,type(result))
  • pop()
1
2
3
4
5
6
字典.pop(键)  #根据键删除指定的值,并返回。
字典.pop(键,默认值) #根据键删除指定的值,若指定的值不存在,则返回默认值。

students = {12:'小明',15:'小刚',23:'小高',43:'小川'}
result = students.pop(55,'默认值')
print(students,result)
  • popitem()
1
2
3
4
5
字典.popitem() #随机删除字典的一个数据

students = {12:'小明',43:'小川',15:'小刚',23:'小高'}
students.popitem()
print(students)
  • setdefault()
1
2
3
4
5
字典.setdefult(键,值)  #向字典中添加数据,如果键不存在则添加,已存在不进行任何操作

students = {12:'小明',43:'小川',15:'小刚',23:'小高'}
students.setdefault(99,'小风')
print(students)
  • update()
1
2
3
4
5
6
7
8
9
字典.update(键 = 值,键 = 值...)
字典.update({键:值,键:值键:值...}) #修改字典中的值,加入键不存在则会添加内容

students = {12:'小明',43:'小川',15:'小刚',23:'小高'}
students.update({43:'大川',15:'大纲'}) #防止键不符合变量要求的时候
print(students)
students = {'XM':'小明','XC':'小川','XG':'小刚','XGG':'小高'}
students.update(XM = '大名',XGG = '举高高',YBB = '小宝')
print(students)
  • get()
1
2
3
4
5
6
7
8
9
10
11
12
字典.get(键)  #获取指定键对应的值,找不到返回None
字典.get(键,默认值) #获取指定键对应的值,找不到返回默认值

students = {12:'小明',15:'小刚',23:'小高',43:'小川'}
#访问字典的值
result = students.get(23)#等价students[23]
print(result)

#访问不存在的值
#print(students[55])
result = students.get(15,'找不到')
print(result)

集合的定义

集合是确定的一组无序数据的组合。集合数据的数据不会相同。

  • 创建集合
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#空集合
变量 = set()
setvar = set()

#具有多个数据的集合
变量 = {数据,数据,数据...}
setvar = {'小明','小刚','小红','小吕','小朱'}

#测试:集合中具有多个相同的数据(相同数据只出现一次)
animal = {'小青蛙','小鸭鸭','小狗狗','小猫猫','小鸭鸭','小猫猫','小鸭鸭'}
print(animal,type(animal))
#测试2:集合中可以存放什么数据(列表不行,字典不行,正常集合不可以)
data = {10,2.5,True,2 + 3j,'小狗狗',(1,2,3)}
print(data,type(data))

注意:
集合创建时如果存在相同的数据,集合会只保留一份。
集合可以存放的数据类型有Number,String,Tuple,冰冻集合类型

集合没有添加,获取,删除及修改的【基本操作】!

集合成员检测

1
2
3
4
5
6
7
8
9
colors = {'红色','橙色','黄色','绿色','青色','蓝色','紫色'}
print(colors,type(colors))
#in
result = '棕色' in colors
print(result)

#not in
result = '棕色' not in colors
print(result)

集合的函数

  • len()
1
2
3
girls= {'麦当娜','麦当劳','肯德基','汉堡王'}
result = len(girls) #检测容器的长度
print(result)
  • max()
1
2
3
num = {23,223,24,6,23,42,46,458,579,1545,634}
result = max(num) #获取容器中的最大值
print(result)
  • min()
1
2
3
num = {123,243,1234,24,53,6,234,24,64,-8,433,2347,483,25}
result = min(num) #获取容器中的最小值
print(result)
  • set()
1
2
3
lists = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9]
print(lists)
setvar = set(lists) #创建空集合或者将其他数据类型转换为集合

集合的遍历操作

1
2
3
只能使用for...in 来遍历集合
for 变量 in 集合:
循环内容
1
2
3
4
5
6
7
8
9
10
11
12
computer = {'CPU','MEMORY','AUDIO','VIDEO','DISPLAY'}
for var in computer:
print(var)

#嵌套集合的变量
friends = {
('小北','小京'),
('小上','小海'),
('小广','小州')
}
for one,two in friends:
print(one,two)

集合的推导式/集合内涵:

  • 普通的集合推导式
1
2
3
4
5
6
变量 = {变量 for 变量 in 集合}

nums = {1,2,3,4,5,6,7,8,9,10,11}
#要求:所有集合中的数据*5得到新的集合
result = {i * 5 for i in nums}
print(result)
  • 带有判断条件的集合推导式
1
2
3
4
5
6
变量 = {变量 for 变量 in 集合 if 条件表达式}

nums = {1,2,3,4,5,6,7,8,9,10,11}
#要求:获取集合中所有的奇数,并且* 5组成新的集合
result = {i * 5 for i in nums if i % 2 == 1}
print(result)
  • 多循环的集合推导式
1
2
3
4
5
6
7
变量 = {变量1和变量2的操作 for 变量1 in 集合1 for 变量2 in 集合2}

set1 = {1,3,5,7,9}
set2 = {2,4,6,8,10}
#要求:集合1和集合2中的每个数据互相相加组成新的集合
result = {i + j for i in set1 for j in set2}
print(result)
  • 带有判断条件的多循环推导式
1
2
3
4
5
6
7
变量 = {变量1和变量2的操作 for 变量1 in 集合1 for 变量2 in 集合2 if 条件表达式}

set1 = {'张飞','诸葛亮','赵云','黄月英'}
set2 = {'夏侯惇','典韦','许褚','曹操'}
#要求2个阵营的人物对抗,只选择2个字的人参战
result = {i + '--' + j for i in set1 for j in set2 if len(i) == 2 and len(j) == 2}
print(result)