凡是过往,皆为序章

0%

Python_4(字典元组)

基于上次的列表元组,这次总结字典集合的基本操作


一、字典

字典的数据是以键值对形式出现。

1、创建字典

1
2
3
dict1 = {'name':'Tom','age':20,'gender':'男'} #有数据字典
dict2 = {} #空字典
dict3 = dict() #空字典

2、字典常见操作

增加

写法:字典序列[key] = 值

注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对

删除

  • del() / del:删除字典或字典中指定键值对
  • clear():清空字典

修改

字典序列[key] = 值

查找

key值查找

dict1['name']

如果key存在则返回相应值;否则报错

get()

  • 语法

    1
    字典序列.get(key, 默认值)

    注意:如果当前查找的key不存在,则返回第二个参数,如果省略第二个参数,则返回None

keys()

查找字典中所有的key,返回可迭代对象

1
print(dict1.keys()) # dict_keys(['name','age','gender'])

values()

查找字典中所有的value,返回可迭代对象

1
print(dict1.values()) # dict_values(['Tom','20','男'])

items()

查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是key,2是value

1
print(dict1.items()) # dict_items([('name','Tom'),('age',20),('gender','男')])

3、字典的循环遍历

遍历字典的key

1
2
3
for key in dict1.keys():
print(key)
# 结果:name age gender

遍历字典的value

1
2
3
for value in dict1.values():
print(value)
# 结果 Tom 20 男

遍历字典的元素

1
2
3
for item in dict1.items():
print(item)
结果 ('name','tom') ('age',20) ('gender','男')

遍历字典的键值对(拆包)

1
2
for key, value in dict1.items():
print(f'{key} = {value}')

二、集合

1、创建集合

创建集合使用{}set(),但是如果要创建空集合只能使用set(),因为{}用来创建空字典

1
2
3
4
s1 = {1,2,3}
s2 = set('ads')
s3 = set() # set
s4 = {} #dict

2、操作

增加

  • add()

    1
    2
    3
    s1 = {1,2}
    s1.add(3)
    s1.add(1) # {1,2,3}

    集合有去重功能,所以当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。

  • update():追加的数据是序列。

    1
    2
    3
    4
    s1 = {1,2}
    s1.update(3) #报错
    s1.update([100,200])
    s1.update('abc')

删除

  • remove():删除指定数据,如果数据不存在报错
  • discard():删除指定数据,如果数据不存在不报错
  • pop():随机删除某个数据,并返回该值

查找

  • in
  • not in

3、交并补

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 集合的交集、并集、差集、对称差运算
print(set1 & set2)
# print(set1.intersection(set2))
print(set1 | set2)
# print(set1.union(set2))
print(set1 - set2)
# print(set1.difference(set2))
print(set1 ^ set2)
# print(set1.symmetric_difference(set2))
# 判断子集和超集
print(set2 <= set1)
# print(set2.issubset(set1))
print(set3 <= set1)
# print(set3.issubset(set1))
print(set1 >= set2)
# print(set1.issuperset(set2))
print(set1 >= set3)
# print(set1.issuperset(set3))
~感谢你请我吃糖果~
-------------本文结束,感谢您的阅读,欢迎评论留言!-------------