python字典、集合总结

一、字典相关运算方法

1.clear
  • 字典.clear() - 清空字典(删除字典中所有的键值对)
dict1 = {'a':1,'b':2}
dict1.clear()
2.copy
  • 字典.copy()- 复制字典中的所有的键值对 产生一个新的字典
dict1 = {'a':1,'b':2}
dict2 = dict1.copy()
3.fromkeys
  • dict.fromkeys(序列,值)- 把序列中的元素作为key,值作为所有key对应的默认值,创建一个新的字典
dict3= dict.fromkeys('abc',100)
print(dict3) # {'a': 100, 'b': 100, 'c': 100}
dict3= dict.fromkeys(['name','age','hah'],100)
print(dict3) # {'name': 100, 'age': 100, 'hah': 100}
4.get
  • 字典.get(key)- 获取key对应的值,不存在返回None
  • 字典.get(key,值)- 获取key对应的值,如果key不存在 返回指定的值
dict3 = {'name': 100, 'age': 100, 'hah': 100}
print(dict3.get('name1')) #None
print(dict3.get('name1','不存在'))# 不存在
5.keys,value,items
  • 字典.keys()- 获取字典所有的key(返回序列,序列中的元素就是字典的key)
  • 字典.values()- 获取字典所有的值(返回序列,序列中的元素就是字典的值)
  • 字典.items()- 获取字典多有的键值对(返回序列,序列中的元素是元祖,元祖中元素有两个,分别是key和value。)
dict3 = {'name': 100, 'age': 100, 'hah': 100}
dict4 = dict3.keys() #返回的是序列 不是列表
print(dict4)
print(dict3.values())
print(dict3.items())
for item in dict4:
    print(item)
6.setdefault(key,value)
  • 字典.setdefault(key,value) - 给字典添加键值对,如果key本来存在,不会修改这个key的值,对原字典无影响
dict3 = {'name': 100, 'age': 100, 'hah': 100}
dict3.setdefault('aq','200')
print(dict3) #{'name': 100, 'age': 100, 'hah': 100, 'aq': '200'}
dict3.setdefault('age','200')
print(dict3) #{'name': 100, 'age': 100, 'hah': 100, 'aq': '200'}

二、集合

1.什么是集合(set)

  • 集合是python内置的一个容器类的数据类型,是可变,无序的
  • 字面量 - {} 使用大括号括起来 里面有多个元素,多个元素之间使用逗号隔开
  • **元素 **- 不是键值对,必须是不可变的,而且是唯一的
set1 = {1,2,3,'s',True}

set3 = set() #创建空集
print(type(set3),set3)

2.集合的增删改查

a.查(获取集合元素)
  • 不能直接获取集合中单独的某个元素,只能遍历
set1 = {1,2,3,'s',True}
for item in set1:
    print(item)
b.增(添加元素)
  • 集合.add(元素)- 将指定元素添加到集合中
  • 集合.update(序列)- 将序列中的元素添加到集合
set1.add(50)
print(set1)#{1, 2, 3, 50, 's'}
set1.update([22,55])
print(set1)#{1, 2, 3, 50, 22, 55, 's'}
c.删(删除元素)
  • 集合.remove(元素)- 删除集合中指定的元素
set1.remove(55)
print(set1)#{1, 2, 3, 's', 50, 22}

d.改 - 集合不能修改元素的值

3.集合的运算方法 + * in not in len() set() max() min()

4.数学集合运算

  • python中的集合支持数学相关的集合运算
1.包含

集合1 >= 集合2 判断集合1是否包含集合2 (集合2是否是集合1的子集)
**集合1 <= 集合2 ** 判断集合2是否包含集合1 (集合1是否是集合2的子集)

print({1,2,3} >= {1,2}) #True
print({1,2,3} >= {1,2,4})#False
print({1,2,3} <= {1,2})#False
print({1,2,3} <= {1,2,3,4})#True

2.并集

集合1 | 集合2 - 将两个集合中的元素合并在一起产生一个新的集合

3.交集

**集合1 & 集合2 **- 使用两个集合中公共的元素,创建一个新的集合

4.差集

集合1 - 集合2 - 将集合1除了集合2的部分外 创建一个新的集合

5.补集

集合1 ^ 集合2 - 将两个集合中除了公共部分以外的元素创建一个新的集合

set1 = {1,2,3,4,5}
set2 = {4,5,6,7}
print(set1 | set2) #{1, 2, 3, 4, 5, 6, 7}
print(set1 & set2) #{4, 5}
print(set1 - set2) #{1, 2, 3}
print(set1 ^ set2) #{1, 2, 3, 6, 7}

你可能感兴趣的:(python字典、集合总结)