Python元组、集合、字典

总有一天你要一个人在暗夜中,向那座桥走过去

文章目录

一、元组

字符串、元组、列表的总结

二、集合

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码)

二、集合

  集合就是像这种的  { , , , }

  元素之间用逗号隔开、元素可以为任何类型

  集合是无序的,且集合里的元素是唯一的

1.定义空集合

使用方法:d=set()

不能直接用{},这样会被认为是空字典

2.创建集合

(1)直接创建

变量名={元素,元素,元素,元素,......}元素可以为元组、字符串、数字等

(2)set函数

变量名=set(元素),只能有一个元素(只能是元组、列表或者字符串等等)

当元素是字符串时,放在集合里就将字符串里面的字符逐个取出来

但是当字符串放在列表或者元组里面时,则不会将字符串给拆开

如 d=set("纪宁余微");print(d)   #字符串单独放

>>{'纪', '宁', '余', '微'}

    d=set([1,2,3,"纪宁余微"]);print(d)      #字符串在列表里

>>{1, 2, 3, '纪宁余微'}

3.列表、元组、字符串、字典的去重

将列表、元组、字符串、字典用set函数放入集合中,会自动去重

这里就用列表来举例子

如d=set([1,2,3,3,2,1,33,33,4,6]);print(d)

>>{1, 2, 3, 4, 33, 6}   #列表里的元素是无序的

4.向集合中添加元素

(1)add函数

用add函数往集合中添加数字/字符串/元组等,直接将元素加在集合末尾

使用方法:d.add(元素)

注意事项:如果添加的元素集合中已经有了,则不会显示(集合中不会出现重复元素)

(2)update函数

update函数可以将集合b合并于集合a中

使用方法:a.update(b)

如a={"纪宁","余微"};b={1,2,3}
a.update(b);print(a)  #对a操作,将b并入a

>>{1, 2, 3, '纪宁', '余微'}

5.集合元素的删除

(1)remove函数

使用方法:a.remove(要删除的元素)

注意事项:如果集合里有这个元素,就直接删除,如果没有的话,就报错

(2)pop函数

使用方法:a.pop()

作用:在a集合中随机删除一个元素

注意事项:如果集合里有元素,就直接删除,如果没有元素,就报错

(3)discard函数

使用方法:a.discard(要删除的元素)

作用:在a中删除要删除的元素

注意事项:如果集合里有元素,就直接删除,如果没有元素,不做任何处理

6.集合的交集和并集

&交集:s3=s1&s2——得到集合s1和集合s2的交集,并存入s3中

| 并集:s3=s1|s2——得到集合s1和集合s2的并集,并存入s3中

三、字典

  字典是一种映射类型,一种键对应一种值,且键是不可变的,所以字典键的类型必须是一种不可变类型

字典的键不能重复

  如果字典中有多个相同的键,只保留最后一个键的键和值(覆盖前面的)

  创建空字典 {}

1.创建字典

(1)直接用{},也是最常用的方法

创建方法:字典名={  键 : 值  ,  键 : 值  ,  键 : 值}

如d={
"姓名":"纪宁",
"年龄":18
}

键和值必须得一一对应

(2)dict函数

使用方法:dict(元组+列表)——将列表写在元组里

如d=dict((["名字","年龄"],["纪宁",18]))
print(d)

>>{'名字': '年龄', '纪宁': 18}

2.字典的增、删、改、取

(1)增加

使用方法:d[键名]=值(对应要增加的键和值)

如d={
"姓名":"纪宁",
"年龄":18
}

d["技能"]="剑法";print(d)

>>{'姓名': '纪宁', '年龄': 18, '技能': '剑法'}

(2)删除

使用del关键字

使用方法:del 字典名[键名]

如d='{姓名': '纪宁', '年龄': 18, '技能': '剑法'}

del d["纪宁"];print(d)

>>{'姓名': '纪宁', '年龄': 18}

(3)修改

使用方法:d[键名]=要修改的值

(4)获取

使用方法:d[键名]

获取这个键对应的值

3.字典的各种操作函数

(1)get函数——过去字典的某个键对应的值。并返回

使用方法:字典名.get(键名)

如d={
"姓名":"纪宁",
"年龄":18
}

r=d.get("名字");print(r)

>>纪宁

如果这个键在字典中不存在,则返回None

也可以让不存在的键返回一个默认值,但是原来的d里面的值不改变

如r=d.get("门派","天苍宫");print(r)

>>天苍宫

(2)keys函数——以列表的形式返回字典中的所有键

使用方法:字典名.keys()

如d={
"姓名":"纪宁",
"年龄":18
}
z=d.keys();print(z)

>>dict_keys(['姓名', '年龄'])

(3)items函数——以列表的形式返回字典中所有键值对

使用方法:字典名.items()

如d={
"姓名":"纪宁",
"年龄":18
}
z=d.items();print(z)

>>dict_items([('姓名', '纪宁'), ('年龄', 18)])

(4)values函数——以列表的形式返回字典中的所有值

使用方法:字典名.values()

如d={
"姓名":"纪宁",
"年龄":18
}

z=d.values();print(z)

>>dict_values(['纪宁', 18])

(5)clear函数

用于字典清空

使用方法:字典名.clear()

如d={
"姓名":"纪宁",
"年龄":18
}
d.clear();print(d)

>>{}

(6)copy函数——创建字典副本

字典副本与原字典互不影响(一个改变不影响另一个)

使用方法:字典名.copy()

如d={
"姓名":"纪宁",
"年龄":18
}
c=d.copy();print(c)

>>{'姓名': '纪宁', '年龄': 18}

(7)fromkeys函数——创建一个新字典

使用方法:字典名.fromkeys(参数1,参数2)

参数1是一个不可变序列,作为多个键;参数2是任意数据类型,作为每个键的值

所以fromkeys函数创建的字典的值都是相同的

(8)pop函数——从字典中删除指定键,并返回这个键的对应值

使用方法:字典名.pop(键名)

如d={
"姓名":"纪宁",
"年龄":18
}

c=d.pop("姓名");print(c)

>>纪宁

(9)popitem函数——删除字典中最后一项,并返回它的键和值

使用方法:字典名.popitem()

如d={
"姓名":"纪宁",
"年龄":18
}

c=d.popitem();print(d);print(c)

>> {'姓名': '纪宁'}
     ('年龄', 18)

(10)setdefault函数——用于设置键的默认值

使用方法:字典名.setfault(键,值)

如d={
"姓名":"纪宁",
"年龄":18
}

d.setdefault("门派","黑白学宫");print(d)

>>{'姓名': '纪宁', '年龄': 18, '门派': '黑白学宫'}

(11)update函数——将字典2的内容更新至字典1

使用方法:字典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, '门派': '黑白学宫', '师傅': '菩提老祖', '道侣': '纪宁'}

四、成员/标识符检测与判断

1.成员检测(检测成员是否在序列中)

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

2.判断两个对象和是否相同

is / is not

is:判断对象是否相同,相同就返回True,否则就返回False

is not:判断对象是否不相同,不相同就返回True,否则就返回False

注意:这里的对象是不可变类型(如果对象是列表或者字典等可变类型,则必定判断为不相同)

如a=(1,2,3)
b=(1,2,3)
z=a is b

print(z)

>>True

在这里插入图片描述

 博主写了好长时间,如果你能给博主一个免费三连鼓励一下博主的话,那么你真是 泰裤辣

 

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值