python3基本数据类型-字典、元组 和集合

本文深入探讨了Python中字典、元组和集合的基本特性和操作方法,包括它们的定义、特性、常见操作及应用场景,适合Python初学者巩固基础知识。
部署运行你感兴趣的模型镜像

python3基本类型-字典、元组 和集合

—ps:整理下基础,基础不牢地动山摇~~~~
python提供了许多内置的数据集合类型,基础部分接触到的有:
列表(list)
元组(tuple)
字典(dictionary)
集合 (set)
说明:在之前有写到列表,今天来总结下字典、元组和集合。

字典:

在这里插入图片描述
字典是python中最通用的数据结构之一。
字典是无序,可变的数据类型。
字典是没有下标和索引的。
字典:存储多个数据的,回忆下列表:也是存储多个数据。

my_songs=['喜欢你','月亮之上','后来']
print('最喜欢的歌:',my_songs[1])
返回结果:
喜欢你

列表缺陷:

存储多个数据的时候,无法知道元素表达的含义。
字典能够表示出每个元素具体含义。

字典的表示 :

{key:value,key1:value1,key2:value2}

my_songs={'favor': '喜欢你','hated':'月亮之上','on_sad':'后来'}
可以用KEY来表示值的代表含义。

KEY特性:

  1. KEY是有要求的,KEY不可以重复。
my_songs={'favor': '喜欢你','favor': '同桌的你','hated':'月亮之上','on_sad':'后来'}
print(my_songs['favor'])
返回结果:
同桌的你

#字典取值可以通过KEY,如果有重复,后面的值会覆盖之前的KEY值。
  1. 字典的key,是能够Hash(哈希),key是不可变类型。
my_songs={[1]: '喜欢你','favor': '同桌的你','hated':'月亮之上','on_sad':'后来'}
第一个key为列表[1],运行会报错:TypeError: unhashable type: 'list'

字典的操作

字典的长度:

my_songs={‘favor’: ‘同桌的你’,‘hated’:‘月亮之上’,‘on_sad’:‘后来’}
print(len(my_songs))
返回结果:
3

字典的取值
my_songs={'favor': '同桌的你','hated':'月亮之上','on_sad':'后来'}
print(my_songs[0])
返回结果:
KeyError: 0
**结论:**
1)	字典是没有索引,同样没有切片。
2)	有索引代表有顺序,列表是有序的 ,字典是无序的。

需要通过KEY来取值:

my_songs={'favor': '喜欢你','hated':'月亮之上','on_sad':'后来'}
print(my_songs['favor'])
返回结果:
喜欢你

#字典可不可以进行修改==》字典是可变类型吗?是的

my_songs={'favor': '同桌的你','hated':'月亮之上','on_sad':'后来'}
my_songs['favor']='喜欢你'
print(my_songs)
返回结果:
{'favor': '喜欢你', 'hated': '月亮之上', 'on_sad': '后来'}
删除元素
my_songs={'favor': '同桌的你','hated':'月亮之上','on_sad':'后来'}
my_songs.pop('favor')
print(my_songs)
返回结果:
{'hated': '月亮之上', 'on_sad': '后来'}
my_songs={'favor': '同桌的你','hated':'月亮之上','on_sad':'后来'}
print(my_songs.keys())
print(my_songs.values())
print(my_songs.items())
返回结果:
dict_keys(['favor', 'hated', 'on_sad'])
dict_values(['同桌的你', '月亮之上', '后来'])
dict_items([('favor', '同桌的你'), ('hated', '月亮之上'), ('on_sad', '后来')])

如果存储多个数据,什么时候用字典?什么时候用列表?

例子:
测试用例:登录场景字段:接口地址,请求方法,请求数据(参数)
1 /login ,GET , data1
2 /register ,POST,data2
3 /user , GET, data3

如果是存储内容顺序比较重要的,可修改的,就用列表。如果是可读性比较重要的(值的含义),就用字典。(当值是GET,用字典方式就知道是请求方法)

元组

在这里插入图片描述

元组表示:

python最基本的集合类型,表示对象序列.
元组的关键字:tuple。
元组表示:()圆括号括起来。

元组特性:

元组是有序的数据类型。
元组是的元素可以是不同的数据类型(可以包含整数、字符串等)
元组的元素不可更改,但如果元素里包含列表或者字典,里面的元素可以做更改。

重点应用:

1、空元组:
names = ()
print(type(names))
#>>><class 'tuple'>
print(len(names))
#>>>0
#空元组,类型为元组,长度为0
2、(需要注意的坑!!!)元组如果只有一个元素,那么就要后面加一个逗号,不然python无法识别。
例1: names = ('张三')
print(type(names))
#>>><class 'str'>
print(len(names))
#>>>2
#默认为字符型
例2:
names = ('张三',)
print(type(names))
#>>><class 'tuple'>
print(len(names))
#>>>1
总结:一个元素的元组一定要在元素后面加逗号

3、元组解包

元组names=('张三','李四','王五')需要多个变量接收
a,b,c=names
print(a)
print(b)
print(c)
#>>>
张三
李四
王五
引申应用:
变量赋值也是可以同时多个变量赋值
a,b,c=3,4,5

集合

在这里插入图片描述

集合表示:

集合关键字set() ,用{}表示,只有值{value,value…}

集合特性:

集合是可变的,无序的,有限的集合。
集合可存储多个类型。
集合没有索引和切片 和字符串一样。

集合操作:

集合的长度:len()
类型:type()
一个元素的集合怎么表示?li={‘11’}和li={‘11’,}都可以。

集合是可变的,可以做增删操作

add()
li={'11',}
li.add('22')
print(li)
#>>>{'11', '22'}
pop()
li={'11','33','44'}
li.pop()
print(li)
#>>>{'33', '44'}
#随机删除1个元素
li.remove()
#指定移除元素,如果指定的元素不存在,报错:
li={'11','33','44'}
li.remove('44')
print(li)
#>>>{'11', '33'}
#元素不存在,报KeyError
li={'11','33','44'}
li.remove('55')
print(li)
#>>>KeyError: '55'
discard()
同样可以指定元素删除,不同的是指定的元素不存在,不会报错。
li={'11','33','44'}
li.discard('88')
print(li)
#>>>{'44', '33', '11'}

应用:

集合常用于列表去重。(列表转换成集合再转换成列表,这样可以去重数据)
li=['11','22','33','22','33','44']
print(list(set(li)))
#>>>['44', '11', '22', '33']

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值