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特性:
- KEY是有要求的,KEY不可以重复。
my_songs={'favor': '喜欢你','favor': '同桌的你','hated':'月亮之上','on_sad':'后来'}
print(my_songs['favor'])
返回结果:
同桌的你
#字典取值可以通过KEY,如果有重复,后面的值会覆盖之前的KEY值。
- 字典的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']
本文深入探讨了Python中字典、元组和集合的基本特性和操作方法,包括它们的定义、特性、常见操作及应用场景,适合Python初学者巩固基础知识。
413

被折叠的 条评论
为什么被折叠?



