python (个人学习笔记1.5)-- 元祖,与字典的使用说明与几种常用函数调用方法

一、元祖

1.什么是元祖

元祖:又被称为只读列表,内部数据可以查询,但是不能修改。所以,列表中的切片操作同样适用于元祖。
与列表不同,元祖将元素写在小括号中 (),以逗号隔开。

格式:

tuple1 = ()				#建立一个空的元祖
tuple2 = (20,30,)		#建立两个元素的元祖 
#注意:元祖建立时,最后一个元素后记得写上一个逗号(,),尤其是元祖只有一个元素时。

注释:元祖与列表相似,故不再过多讲解

二、字典(重点)

1.什么是字典(简单介绍)

字典:字典是python中唯一的一种映射类型,简单来说,好比书籍的字典,给与一个简单的名字,从而用来查找到对应的具体内容

字典由大括号 {} 创建,一个字典元素可分为前后两部分,前为可查名称,即字典的 键 ,后为键对应的值,两者以冒号 : 分开,前后两部分合称为一个键值对。

注意:字典内的元素是无序的,且键唯一

2.字典的创建

dic = {}					#创建一个空的字典
dic1 = {'name':'Ligang'}		#含有一个键值对的字典
dic2 = {'name':'Ligang','age':20}	#含有两个键值对的字典
dic3 = {'name':'Ligang','age':20,'hobby':{'PC_game':"LOL",'age':30}}	#嵌套有字典的字典

利用dict()方法创建字典

dic4 = dict((('name','Ligang'),('age',20)))		#利用dict()方法创建字典,小括号内为一个两两成对的可迭代数列,即可为元祖,可为列表。

3.字典-----------查

1.字典按照键名来查询对应的值

例如:

dic2 = {'name':'Ligang','age':20}
print(dic2['name'])

输出:

Ligang

2.keys() 方法(函数)

keys(): 查找字典中所有的键。

例如:

dic2 = {'name':'Ligang','age':20}
print(list(dic2.keys()))		#将查找出的键利用list()转换为列表,方便输出查看

输出:

['name', 'age']		#两个键名

3.values() 方法(函数)

values(): 查找字典中所有键对应的值。

例如:

dic2 = {'name':'Ligang','age':20}
print(list(dic2.values()))

输出:

['Ligang', 20]

4.items() 方法(函数)

items(): 查找字典中所有的键值对。

例如:

dic2 = {'name':'Ligang','age':20}
print(list(dic2.items()))

输出:

[('name', 'Ligang'), ('age', 20)]

4.字典-----------增

1.setdefault() 方法(函数)

setdefault(): 向字典中添加一个键值对,如果字典中已经有了相同的键,则不改动,并返回字典中相应键对应的值。
如果键不存在,则在字典中添加对应的键值对,并返回键对应的值

例如:

dic2 = {'name':'Ligang','age':20}
list1 = dic2.setdefault("age","30")	
list2 = dic2.setdefault("hobby","girl")

print(dic2)
print(list1)
print(list2)

输出:

{'name': 'Ligang', 'age': 20, 'hobby': 'girl'}
20
girl

5.字典-----------改

1.根据键修改值

例如:

dic2 = {'name':'Ligang','age':20}
dic2['age'] = 100
print(dic2)

输出:

{'name': 'Ligang', 'age': 100}

2.update() 方法(函数)

update():合并两个字典,如果母字典中含有子字典中相同名称的键,那么母字典对应键的值,将会被子字典对应的值覆盖
如果没有相同名称的键,那么子字典的键值对将会添加进母字典

例如:

dic2 = {'name':'Ligang','age':20}		#母字典
dic3 = {'hobby':'girl','age':50}		#子字典
dic2.update(dic3)

print(dic2)
print(dic3)

输出:

{'name': 'Ligang', 'age': 50, 'hobby': 'girl'}
{'hobby': 'girl', 'age': 50}

6.字典-----------删

1.clear() 方法(函数)

clear(): 清空当前字典

dic2 = {'name':'Ligang','age':20}
dic2.clear()
print(dic2)

输出:

{}				#输出一个空字典

2.del 方法

del : 可删除字典中指定的键值对,也可删除整个字典

例如:

dic2 = {'name':'Ligang','age':20}
del dic2['name']
print(dic2)

del dic2
print(dic2)

输出:

{'age': 20}			#输出dic2剩余键值对

NameError: name 'dic2' is not defined	#dic2被删除,程序报错

3.pop() 方法(函数)

pop(): 删除指定键值对,并返回键对应的值

例如:

dic2 = {'name':'Ligang','age':20}
dic3 = dic2.pop('age')				#变量dic3得到返回age的值 2o
print(dic2)
print(dic3)

输出:

{'name': 'Ligang'}
20

4.popitem() 方法(函数)

popitem(): 删除随机键值对,并以元祖的形式返回删除的键值对

例如:

dic2 = {'name':'Ligang','age':20,'hobby':'girl','dislike':'haha'}
tup = dic2.popitem()

print(dic2)
print(tup)

输出:

{'name': 'Ligang', 'age': 20, 'hobby': 'girl'}
('dislike', 'haha')

7.字典---------一些其他的方法

1.dict.fromkeys() 方法(函数)

dict.fromkeys(): 可以算作一种字典的初始化方法

例如:

dict1 = dict.fromkeys(['protect1','protect2','protect3'],'text')
print(dict1)

输出:

{'protect1': 'text', 'protect2': 'text', 'protect3': 'text'}
#前一序列的每一个元素,都成为一个键,键值都为后一序列的'text'字符串,并组成一个字典

如果后一序列为多个元素组成,则由这多个元素共同组成键的值
例如:

dict1 = dict.fromkeys(['protect1','protect2','protect3'],['text','text2'])
print(dict1)

输出:

{'protect1': ['text', 'text2'], 'protect2': ['text', 'text2'], 'protect3': ['text', 'text2']}

另外!!
如果修改了由dict.fromkeys()初始化后的字典的某个键值对的值,其他键值对,键对应的值也会一同改变!!

例如:

dict1 = dict.fromkeys(['protect1','protect2','protect3'],['text','text2'])
dict1['protect2'][1] = 'text3456'

print(dict1)

输出:

{'protect1': ['text', 'text3456'], 'protect2': ['text', 'text3456'], 'protect3': ['text', 'text3456']}
#此时,所有键值对中,'text2'都被替换成了'text3456'

2.in 与 has_keys() 方法(函数)

has_keys(): 查询键是否存在字典中
但是!!!!在python3版本后,改方法已经被删除

in: 判断键是否存在字典中,存在则返回True

例如:

dic={5:'555',2:'666',4:'444'}
print(5 in dic)

输出:

True

3.sorted() 方法(函数)

sorted() :给键值对,按照键的一定顺序排序

例如:

dic={5:'555',2:'666',4:'444'}
print(sorted(dic.items()))		#先使用items()方法取出字典所有键值对,再转换成列表与元祖,最后进行排序   
#注意:字典本身是无序的!!!!

输出:

[(2, '666'), (4, '444'), (5, '555')]

8.两种for循环输出键值对的方法

两种方法:

dic1={'name': 'alex', 'age': 18}

for i in dic1:
    print(i,dic1[i])

for i,v in dic1.items():
    print(i,v)

输出:

name alex
age 18

name alex
age 18
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值