总有一天你要一个人在暗夜中,向那座桥走过去
文章目录
一、元组
字符串、元组、列表的总结
二、集合
1.定义空集合
2.创建集合
(1)直接创建
(2)set函数
3.列表、元组、字符串、字典的去重
4.向集合中添加元素
(1)add函数
(2)update函数
5.集合元素的删除
(1)remove函数
(2)pop函数
(3)discard函数
6.集合的交集和并集
三、字典
1.创建字典
(1)直接用{},也是最常用的方法
(2)dict函数
2.字典的增、删、改、取
(1)增加
(2)删除
(3)修改
(4)获取
3.字典的各种操作函数
(1)get函数——过去字典的某个键对应的值。并返回
(2)keys函数——以列表的形式返回字典中的所有键
(3)items函数——以列表的形式返回字典中所有键值对
(4)values函数——以列表的形式返回字典中的所有值
(5)clear函数
(6)copy函数——创建字典副本
(7)fromkeys函数——创建一个新字典
(8)pop函数——从字典中删除指定键,并返回这个键的对应值
(9)popitem函数——删除字典中最后一项,并返回它的键和值
(10)setdefault函数——用于设置键的默认值
(11)update函数——将字典2的内容更新至字典1
四、成员/标识符检测与判断
1.成员检测(检测成员是否在序列中)
2.判断两个对象和是否相同
大家好,我是纪宁
今天要介绍的是python的元组、集合、字典,这是Python基础目前的学习进度
一起加油
元组与列表是类似的,写在()里(列表写在[])里,元素中间用逗号隔开,且元素类型可以不同
元组在性质上与列表不同的是,元组里面的元素不能改变
但是,如果元组里面有列表,列表里面的值可以改变
元祖、字符串、列表中可以共同使用的常用函数
len() 返回字符串/元组/列表 的长度
min() 返回字符串/元组/列表 里面的最小值(如果是字符串,则逐个比较ASCII码)
max() 返回字符串/元组/列表 里面的最小值(如果是字符串,则逐个比较ASCII码)
集合就是像这种的 { , , , }
元素之间用逗号隔开、元素可以为任何类型
集合是无序的,且集合里的元素是唯一的
使用方法:d=set()
不能直接用{},这样会被认为是空字典
变量名={元素,元素,元素,元素,......}元素可以为元组、字符串、数字等
变量名=set(元素),只能有一个元素(只能是元组、列表或者字符串等等)
当元素是字符串时,放在集合里就将字符串里面的字符逐个取出来
但是当字符串放在列表或者元组里面时,则不会将字符串给拆开
如 d=set("纪宁余微");print(d) #字符串单独放
>>{'纪', '宁', '余', '微'}
d=set([1,2,3,"纪宁余微"]);print(d) #字符串在列表里
>>{1, 2, 3, '纪宁余微'}
将列表、元组、字符串、字典用set函数放入集合中,会自动去重
这里就用列表来举例子
如d=set([1,2,3,3,2,1,33,33,4,6]);print(d)
>>{1, 2, 3, 4, 33, 6} #列表里的元素是无序的
用add函数往集合中添加数字/字符串/元组等,直接将元素加在集合末尾
使用方法:d.add(元素)
注意事项:如果添加的元素集合中已经有了,则不会显示(集合中不会出现重复元素)
update函数可以将集合b合并于集合a中
使用方法:a.update(b)
如a={"纪宁","余微"};b={1,2,3}
a.update(b);print(a) #对a操作,将b并入a>>{1, 2, 3, '纪宁', '余微'}
使用方法:a.remove(要删除的元素)
注意事项:如果集合里有这个元素,就直接删除,如果没有的话,就报错
使用方法:a.pop()
作用:在a集合中随机删除一个元素
注意事项:如果集合里有元素,就直接删除,如果没有元素,就报错
使用方法:a.discard(要删除的元素)
作用:在a中删除要删除的元素
注意事项:如果集合里有元素,就直接删除,如果没有元素,不做任何处理
&交集:s3=s1&s2——得到集合s1和集合s2的交集,并存入s3中
| 并集:s3=s1|s2——得到集合s1和集合s2的并集,并存入s3中
字典是一种映射类型,一种键对应一种值,且键是不可变的,所以字典键的类型必须是一种不可变类型
字典的键不能重复
如果字典中有多个相同的键,只保留最后一个键的键和值(覆盖前面的)
创建空字典 {}
创建方法:字典名={ 键 : 值 , 键 : 值 , 键 : 值}
如d={
"姓名":"纪宁",
"年龄":18
}
键和值必须得一一对应
使用方法:dict(元组+列表)——将列表写在元组里
如d=dict((["名字","年龄"],["纪宁",18]))
print(d)>>{'名字': '年龄', '纪宁': 18}
使用方法:d[键名]=值(对应要增加的键和值)
如d={
"姓名":"纪宁",
"年龄":18
}d["技能"]="剑法";print(d)
>>{'姓名': '纪宁', '年龄': 18, '技能': '剑法'}
使用del关键字
使用方法:del 字典名[键名]
如d='{姓名': '纪宁', '年龄': 18, '技能': '剑法'}
del d["纪宁"];print(d)
>>{'姓名': '纪宁', '年龄': 18}
使用方法:d[键名]=要修改的值
使用方法:d[键名]
获取这个键对应的值
使用方法:字典名.get(键名)
如d={
"姓名":"纪宁",
"年龄":18
}r=d.get("名字");print(r)
>>纪宁
如果这个键在字典中不存在,则返回None
也可以让不存在的键返回一个默认值,但是原来的d里面的值不改变
如r=d.get("门派","天苍宫");print(r)
>>天苍宫
使用方法:字典名.keys()
如d={
"姓名":"纪宁",
"年龄":18
}
z=d.keys();print(z)>>dict_keys(['姓名', '年龄'])
使用方法:字典名.items()
如d={
"姓名":"纪宁",
"年龄":18
}
z=d.items();print(z)>>dict_items([('姓名', '纪宁'), ('年龄', 18)])
使用方法:字典名.values()
如d={
"姓名":"纪宁",
"年龄":18
}z=d.values();print(z)
>>dict_values(['纪宁', 18])
用于字典清空
使用方法:字典名.clear()
如d={
"姓名":"纪宁",
"年龄":18
}
d.clear();print(d)>>{}
字典副本与原字典互不影响(一个改变不影响另一个)
使用方法:字典名.copy()
如d={
"姓名":"纪宁",
"年龄":18
}
c=d.copy();print(c)>>{'姓名': '纪宁', '年龄': 18}
使用方法:字典名.fromkeys(参数1,参数2)
参数1是一个不可变序列,作为多个键;参数2是任意数据类型,作为每个键的值
所以fromkeys函数创建的字典的值都是相同的
使用方法:字典名.pop(键名)
如d={
"姓名":"纪宁",
"年龄":18
}c=d.pop("姓名");print(c)
>>纪宁
使用方法:字典名.popitem()
如d={
"姓名":"纪宁",
"年龄":18
}c=d.popitem();print(d);print(c)
>> {'姓名': '纪宁'}
('年龄', 18)
使用方法:字典名.setfault(键,值)
如d={
"姓名":"纪宁",
"年龄":18
}d.setdefault("门派","黑白学宫");print(d)
>>{'姓名': '纪宁', '年龄': 18, '门派': '黑白学宫'}
使用方法:字典1名.update(字典2名)
若字典2的键在字典1中已存在,则对字典1对应键进行修改(改为字典2的值)
若字典2的键在字典1中没有,则对字典1进行添加;并保留1中2没有的键和值
如d_1={
"姓名":"纪宁",
"年龄":18,
"门派":"黑白学宫",
"师傅":"菩提老祖"
}
d_2={
"姓名":"余微",
"年龄":19,
"门派":"黑白学宫",
"道侣":"纪宁"
}
d_1.update(d_2);print(d_1)>>{'姓名': '余微', '年龄': 19, '门派': '黑白学宫', '师傅': '菩提老祖', '道侣': '纪宁'}
in / not in
in:如果对象在序列中,就返回True,否则就返回False
not in:如果对象不在序列中,就返回True,否则就返回False
序列如果是字典的话,判断的对象是键
使用方法:对象 in/not in 序列
如:1 in (1,2,3,4) #1在(1,2,3,4)这个元组序列里,就返回True
is / is not
is:判断对象是否相同,相同就返回True,否则就返回False
is not:判断对象是否不相同,不相同就返回True,否则就返回False
注意:这里的对象是不可变类型(如果对象是列表或者字典等可变类型,则必定判断为不相同)
如a=(1,2,3)
b=(1,2,3)
z=a is bprint(z)
>>True
博主写了好长时间,如果你能给博主一个免费三连鼓励一下博主的话,那么你真是 泰裤辣