Day6-7字典,元祖,集合

元祖

1.什么是元祖
元祖就是不可变的列表,列表中除了可变的操作以外,其他的操作都适用于元祖
元祖值: a.使用()将元素包含起来,多个元素之间用逗号隔开,比如:(1, 2, 'abc')
b.元素的类型可以是任何类型
2.改、增、删相关操作不能作用于元祖。查可以
colors = ('red', 'green', 'yellow', 'purple')
1.查(和列表的查一模一样,没有任何区别)
print(colors[1])
print(colors[0:3])
print(colors[0::2])
for item in colors:
print(item)
3.in , not in
print('red' in colors)
4.+和
print((1, 2) + (3, 4))
print((1, 2) * 2)

5.元祖补充(列表也可以):
1.获取元祖的元素
names = ('name1', 'name2', 'name3')
x, y, z = names # 通过多个变量分别获取元祖的元素(变量个数和元祖元素个数一样)
print(x, y)

names = ('name1', 'name2', 'name2_2', 'name2_3', 'name3')
first, midel, last = names # 通过变量名前加可以把变量变成列表,获取多个元素
print(first, midel, last)

*name1, name = names
print(name1, name)

name, *name1 = names # 让name获取第一个元素,剩下的部分作为列表name1的元素
print(name)

字典

字典也是一种容器类型的数据类型(序列),存的数据是以键值对的形式出现的,字典中的元素全部都是键值对
字典是可变的(可是增删改),但是是无序的(不能使用下标)
键是唯一的

键值对: 键:值(key:value); 键值对中key是形式,值才是真正要存的内容
键:理论上可以是任何不可变的数据类型,但是实际开发的时候一般使用字符串作为key
值:可以是任意数据类型数据
1.声明一个字典
dict1 = {} # 创建一个空的字典
print(type(dict1))
b.将其他数据类型转换成字典
dict3 = dict([(1, 2), (2, 3)]) # 了解
print(dict3)

2.字典的增删改查
a.查:获取字典的元素的值
字典获取元素的值是通过key来获取的
字典[key]
person = {'name': '路飞', 'age': 17, 'face': 90}
print(person['name'], person['face']

字典.get(key)
print(person.get('name'))
print(person.get('aaa')) # 如果key不存在,返回None

注意:如果key值确定存在,使用[]语法去获取值。不确定key值是否存在才使用get方法去获取值
b.增加元素\修改元素
通过key获取字典元素,然后赋值。当key本身就存在的时候,就是修改元素的值;不存在的时候就是给字典添加键值对
person['height'] = 1.8
print(person)

c.删除: 删除的是键值对
del 字典[key] ---- 注意:key如果不存在会报错
del person['face']
print(person)

字典.pop(key) --- 会返回被删除的键值对对应的值

age = person.pop('age')
print(person, age)

集合

集合(set)也是一种容器类型的数据类型(序列);数据放在{}中,多个之间只用逗号隔开:{1, 2, 'a'}
集合是无序的(不能通过索引取取值), 可变(可以增删改), 元素不能重复

集合可以进行数学中集合相关的操作:判断是否包含,求交集、并集、差集、补集

1.怎么声明集合
set1 = {1, 2, 3, 2, 2}

b.将其他的数据转换成集合
set2 = set('abc1233h') # 将其他数据转换成集合,自带一个去重的功能
2.增删改查
a.查:遍历
注意:集合没有办法单独获取某一个元素
for item in set2:
print(item)

集合.add(元素): 在指定的集合中添加指定的元素
set1 = {1, 2, 3}
set1.add(100)
print(set1)

c.删
集合.remove(元素): 在指定的集合中删除指定的元素
set1.remove('ss')
print(set1)

pop删除是随机删除一个
set1.pop()
print(set1)

3.判断是否包含
集合1 >= 集合2 -- 判断集合1中是否包含集合2(判断集合2中的所有的元素是否都在集合1中)
集合1 <= 集合2 -- 判断集合2中是否包含集合1
print({1, 2, 3, 4} >= {1, 4}) # True
print({1, 2, 3, 4} <= {1, 2}) # False

4.数学的集合运算
"""求并集: | """
print({1, 2, 3} | {2, 3, 4, 5})

"""求交集: &"""
print({1, 2, 3} & {2, 3, 4, 5})

"""求差集: -"""
print({1, 2, 3} - {2, 3, 4, 5})

"""求补集: ^"""
print({1, 2, 3} ^ {2, 3, 4, 5})

5.其他方法
"""clear:清空集合"""
set1.clear()

你可能感兴趣的:(Day6-7字典,元祖,集合)