Python 学习笔记-第5讲:元组、字典和集合

本文深入探讨了Python中的三种核心数据结构:元组、字典和集合。详细介绍了它们的定义方式、基本操作及内置函数,并提供了丰富的实例说明如何在实际编程中应用这些数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、元组

元组与列表类似,但它是不可变对象,因此 append()、remove()、insert()、pop() 等直接对列表进行修改的操作在元组中将不可用。

1. 定义元组

    tuple1=(1,2,3)

    tuple2=1,2,3    # 可以不使用括号

    tuple3=tuple() # 创建空元组

    tuple([列表]) 将序列转换为元组。

>>> tuple(range(5))
(0, 1, 2, 3, 4)
a,b,c=(4,5,6) # 使用元组给变量赋值,跟列表一样
>>> t=(1,)
>>> type(t)
<class 'tuple'>

创建仅包含一个元素的元组时,需在元素后面加“,”。

2. 访问元组

通过所有下标访问,支持切片

元组不可修改,但可将两个元组进行加法组合,以生成新元组

>>> t1=('a','b','c')
>>> t2=(1,2,3)
>>> t3=t1+t2
>>> t3
('a', 'b', 'c', 1, 2, 3)

3. 元组内置函数

   len(tuple)     计算元组元素个数。

    max(tuple) 返回元组中元素最大值。

    min(tuple)    返回元组中元素最小值。

    tuple(seq)    将列表转换为元组。


二,字典

字典采用大括号 {key:value, k:v,...} 定义,字典元素为“键:值”对形式,

字典是一种映射类型,key 为不可变数据类型(例如,数字,字符串或元组),且必须唯一。

值可以为任何数据类型的对象。

1. 创建字典

    d={}    #空字典

    d={'Alice':'2341','Beth':'9102','Ceil':'3258'}

    使用dict函数创建:

>>> items = [('name','Gumby'),('age'.42)]
>>> d = dict(items)
>>> d
{'age':42,'name':'Gumby'}
>>> d = dict(name='Gumby','age'=42)
>>> d
{'age':42,'name':'Gumby'}
2. 基本字典操作
1)len(d) 返回d中项(键-值对)的数量;
2)d[k] 返回关联到k上的值;
3)d[k]=v 将值v关联到键k上;
4)del d[k] 删除键为k的项;

5)k in d 检查d中是否有含键为k的项;

    del dict['Name'] # 删除键 'Name'
    dict.clear()     # 清空字典
    del dict         # 删除字典

3. 字典方法

1 radiansdict.clear() 删除字典内所有元素
2 radiansdict.copy() 返回一个字典的浅复制
3 radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
5 key in dict 如果键在字典dict里返回true,否则返回false
6 radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组
7 radiansdict.keys() 以列表返回一个字典所有的键
8 radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里
10 radiansdict.values() 以列表返回字典中的所有值
11 pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。


三、集合

集合 (set) 是一组无序排列的不重复的值。集合的格式:{元素1, 元素2, 元素3, ......}

集合一般用于关系测试消除重复元素。

集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.  

集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小), 用 for 循环迭代集合的成员。但是因为集合本身是无序的,不可以为集合创建索引或执行切片(slice)操作,也没有键(keys)可用来获取集合中元素的值。

1. 创建集合

    >>> s=set()    # 使用 set() 函数创建空集合
    >>> type(s)

    <class 'set'>

    s=set(可迭代对象) # 可迭代对象:字符串、列表、元组

    s={1,2,3}

2. 并集、交集和差集

集合支持一系列标准操作,包括并集、交集、差集和对称差集,例如:  
a = t | s          # t 和 s的并集  
b = t & s          # t 和 s的交集    
c = t – s          # 求差集(项在t中,但不在s中)    

d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

集合操作符和关系符号: 

2015819105825249.png (445×366)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值