Python——第五章 组合数据类型

5 组合数据类型的基本概念

在这里插入图片描述

5.1 集合类型

5.1.1 集合类型概述

Python语言中的集合类型与数学中集合概念一致,即包含0个或多个数据项的无序组合。用大括号{}表示,它没有索引和位置的概念,集合中的元素可以动态增加或删除。
由于集合元素独一无二,使集合类型可以过滤掉重复元素

s={90,1010,'def','76.8',90}
print(type(s))
print(s)

在这里插入图片描述
输出无序,并且可以自动过滤掉重复元素。

5.1.1 集合类型的操作符

在这里插入图片描述

s={1010,'def','76.8',90}
t={1010,'python',12.3,1010}
print(s)
print(t)
print(s-t)      #s和t的差集
print(s&t)      #s和t的交集
print(s^t)     #s和t的补集
print(s|t)    #s和t的并集

在这里插入图片描述

5.1.2 集合类型的操作函数和方法

在这里插入图片描述

s={1010,"python",78.9}
s.add('人工智能')    #如果add()函数中的参数在集合中未出现,则把add()中的参数加入到集合s中
print(s)
s.remove('人工智能')        #把remove()函数中的参数,在集合s中删除
print(s)
s.clear()             #将集合中所有元素清空 输出set()
print(s)
print(len(s))         #统计集合中的元素个数
print(1010 in s)      #检测1010是否在集合s中,在返回True,不在的话返回False
print(1010 not in s)  #检测1010是否不在集合s中,不在返回True,在的话返回False

运行结果如下
在这里插入图片描述

set( )函数可以将其他的组合数据类型变成集合类型,返回结果是一个无重复且排序任意的集合。set()函数也可以生成空集合变量

a=set()
print(a)               #输出set()表示空集合
s=set("知之为之不知为不知")
print(s)

在这里插入图片描述

5.2 列表类型

5.2.1 列表类型概述

在这里插入图片描述

ls=['甜甜圈','珍珠奶茶','方便面','卡路里',101] #列表不会改变字符串的顺序,也不会删除重复数据
print(ls,type(ls))
print(list('列表可以由字符串生成'))

在这里插入图片描述
在这里插入图片描述

5.2.2 列表的索引

索引是列表的基本操作,用于获得列表的一个元素。使用中括号作为索引操作符。

ls=[1101,'1102',[1103,'1104'],1115]   #对应元素位置是 0 1 2 3 或者 -3 -2 -1 0
print(ls[-2])
print(ls[3])

在这里插入图片描述

可以使用遍历循环对列表元素进行遍历操作。
在这里插入图片描述
运行结果如下:
在这里插入图片描述

5.2.3 列表的切片

切片是列表的基本操作,用于获得列表的一个判断,即获得一个或多个元素。切片后的结果也是列表的类型。
切片的使用方法:
在这里插入图片描述
切片获取列表类型从N到M(不包括M)的元素组成新的列表。当k存在时,切片获取列表类型从N到M(不包括M)以K为步长所对应元素组成的列表。

ls=[1101,'1102',[1103,'1104'],1115]   #对应元素位置是 0 1 2 3 或者 0 -1 -2 -3
print(ls[1:4])
print(ls[-3:-1])
print(ls[0:4:2])

运行结果如下:
在这里插入图片描述

5.2.4列表的操作方法

在这里插入图片描述
在这里插入图片描述

ls=['风清扬','令狐冲','东方不败','杨过','东方不败']
ls.append('欧阳锋')        #在列表最后添加元素'欧阳锋'
print(ls)
lt=['萧峰','独孤求败']    #对列表进行拼接
ls +=lt
print(ls)               
ls.insert(1,'郭靖')
print(ls)
print(ls.pop(1))          #删除列表中1号元素
print(ls)
ls.remove('东方不败')    #只删除第一个东方不败
print(ls)
del ls[1:3]               #删除1号元素到2号元素  del[1:]删除1号元素之后的所有元素
print(ls)
print(ls.reverse)         #列表反转
lt=ls.copy()
print(ls)
print(lt)
ls[1]='修改'              #使用索引配合等号(=)可以对列表元素进行修改
print(ls)
ls.clear()                #清空列表
print(ls)

在这里插入图片描述

5.3元祖

Python的元祖与列表类似,不同之处在于元祖的元素不能修改。
元祖使用小括号{},列表使用方括号。
元祖创建简单,只需要在括号中添加元素,并使用逗号隔开即可。

元祖的函数 count与index
元祖只涉及两个函数,count用来统计元祖中元素个数。index用来对元祖进行索引

ls=('风清扬', '令狐冲', '东方不败', '杨过', '东方不败', '欧阳锋')
print(ls,type(ls))   #对应类型为元祖
num=ls.count('东方不败')
print(num)
id=ls.index('东方不败')  #返回对应的第一个元素位置
print(id)
print(ls[1])             #索引的时候都用中括号[]
lt=['苹果','橘子','梨']
print(tuple(lt))          #tuple可以将列表转化为元祖
lp='十大武林高手'
print(tuple(lp))          #tuple可以将字符串转化为元祖

tuple可以将字符串和列表转化成元祖
在这里插入图片描述

5.4字典操作

5.4.1 字典的索引&修改&建立

Python语言中的字典使用大括号{}建立,每个元素是一个键值对。
使用方式:
在这里插入图片描述
键和值通过冒号连接,不同建制对通过逗号隔开。大括号可以表示集合,字典类型也具有集合类似的性质,即键值对之间没有顺序且不能重复。

d={'两弹元勋':'邓稼贤','青蒿素':'屠呦呦','水稻之父':'袁隆平'}
print(d,type(d))

在这里插入图片描述
字典的索引&修改

print(d['两弹元勋'])  #对字典进行索引
d['两弹元勋']="邓稼先"
print(d)

运行结果:
在这里插入图片描述
字典的创建

#定义字典
t={ }    #定义集合必须使用set()
t[201804]="小新"
t[201805]="小强"
print(t)

在这里插入图片描述

5.4.2 字典的操作函数

字典类型具有一些典型的操作函数:
在这里插入图片描述
创建一个空字典:


a=dict()   #创建一个空字典
print(a)

运行结果如下:
在这里插入图片描述
字典的长度,最大键值和最小键值:

d={"201804":"张三","201805":"李四","201806":"王五"}
a=len(d)
print(a)
a=max(d)
print(a)
a=min(d)
print(a)

运行结果如下:
在这里插入图片描述

在这里插入图片描述
d.keys()
获取字典中键的信息
在这里插入图片描述

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
a=d.keys()           #获取字典中键的信息
print(a)
b=list(d.keys())    #把字典中的关键字转化成列表
print(b)

在这里插入图片描述

d.values()
获取字典中值的信息
在这里插入图片描述

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
a=d.values()
print(a)
b=list(d.values())   #把字典的值转换成列表
print(b)

运行结果如下:
在这里插入图片描述

d.items()
在这里插入图片描述

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
a=d.items()
print(a)
b=list(d.items())  #把字典的键值对儿转换成元组
print(b)

运行结果如下:
在这里插入图片描述

d.get(key,defalut)
如果字典中存在key关键字,返回关键字的值,否则返回defalut(用户可自定义具体值)
在这里插入图片描述

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
a=d.get('201804',"没有该元素")
print(a)
a=d.get('201802',"没有该元素")
print(a)

运行结果如下:
在这里插入图片描述

字典的删除

d.pop(key,defalut)
查找key关键字,如果存在返回对应值,并在字典中删除。若字典中不存在key关键字,返回defalut
在这里插入图片描述

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
a=d.pop('201804',"没有该元素")
print(a)
print(d)

运行结果如下:
在这里插入图片描述

d.popitem()
随机删除字典中键值对儿
在这里插入图片描述

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
a=d.popitem()
print(a)
print(d)

在这里插入图片描述del d[key]
删除字典中对应key的键值

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
del d['201803']   #删除某一键值对
print(d)

运行结果如下:
在这里插入图片描述

d.clear()
清空字典
在这里插入图片描述

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
d.clear()
print(d)

运行结果如下:
在这里插入图片描述
检查某一键值是否存在于字典中:
在这里插入图片描述

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
print("201804" in d) #只可以用来检查键是否存在

运行结果如下:
在这里插入图片描述
字典的循环遍历:
在这里插入图片描述

d={"201803":"刘七","201804":"张三","201805":"李四","201806":"王五"}
for k in d:
    print("字典的键和值分别是:{}和{}".format(k,d.get(k)))#get用于获得k对应的值。

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,今天我们来学习Python中的字典(Dictionary)。 字典是一种无序的、可变的数据类型,它以键值对(key-value)的形式存储数据,其中键(key)必须是唯一的,而值(value)可以是任意数据类型。字典用花括号{}表示,每个键值对之间用逗号隔开。 下面是一个简单的字典示例: ``` my_dict = {'name': '张三', 'age': 18, 'gender': '男'} ``` 这个字典中,'name'、'age'、'gender'就是键,而'张三'、18、'男'就是相应的值。 可以使用`dict()`函数来创建一个字典,也可以使用`{}`来创建一个空字典。 接下来,我们来看一些常用的字典操作。 1. 访问字典元素 可以通过键来访问字典中的元素,例如: ``` print(my_dict['name']) # 输出:张三 ``` 如果键不存在,则会抛出KeyError异常。 2. 修改字典元素 可以通过键来修改字典中的元素,例如: ``` my_dict['age'] = 20 print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男'} ``` 3. 添加字典元素 可以通过键来添加字典中的元素,例如: ``` my_dict['address'] = '北京市' print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男', 'address': '北京市'} ``` 4. 删除字典元素 可以通过键来删除字典中的元素,例如: ``` del my_dict['gender'] print(my_dict) # 输出:{'name': '张三', 'age': 20, 'address': '北京市'} ``` 5. 字典长度 可以使用`len()`函数来获取字典的长度,例如: ``` print(len(my_dict)) # 输出:3 ``` 6. 字典遍历 可以使用`items()`方法来遍历字典中的每一个键值对,例如: ``` for key, value in my_dict.items(): print(key, value) ``` 输出: ``` name 张三 age 20 address 北京市 ``` 通过上述操作,我们可以初步了解字典的基本用法。在实际应用中,字典是非常重要的数据类型,它可以用来存储和处理各种复杂的数据结构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值