欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python字典进行大写转化_python之字典的增删改查

发布时间:2024/4/20 python 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python字典进行大写转化_python之字典的增删改查 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.列表的缺点

列表可以存储大量的数据,数据之间的关联性不强。

列表的查询速度比较慢。

容器型数据类型:dict

2.数据类型的分类(可变与不可变)

可变(不可哈希)的数据类型:list dict set

不可变(可哈希)的数据类型:str bool int tuple

3.字典:{ }括起来,以键值对的数据类型

dic={'太白':

{'name':'太白金星','age':18,'sex':'男'},

'python21':

['xaiojiayu','xiaojinyu','xiaoyouyu','xaioliyu']

}

(1)键必须的不可变的数据类型并且唯一:int,str(常用) (bool,tuple几乎不用)

值可以是任意数据类型,对象。

字典在 3.5版之前(包括3.5)是无序的。

字典在3.6会按照初次建立的顺序排列,学术上不认为是有序的。

字典3.7x以后都是有序的。

(2)字典的缺点:以空间换时间。

字典的优点:字典的查询速度非常快,存储关联性数据。

4.字典的创建方式

(1)方式一

dic=dict((('one',1),('two',2),('three',3)))

print(dic) #{'one': 1, 'two': 2, 'three': 3}

(2)方式二

dic=dict(one=1,two=2,three=3)

print(dic) #{'one': 1, 'two': 2, 'three': 3}

(3)方式三

dic=dict({'one':1,'two':2,'three':3})

print(dic) #{'one': 1, 'two': 2, 'three': 3}

(4)验证字典的合法性

1)dic={[1,2,3]:'alex',1:666} #键要不可变的数据类型

print(dic) #报错,不可变的数据类型

2)dic={1:'alex',1:'太白',2:'wusir'} #键要唯一

print(dic) #{1: '太白', 2: 'wusir'}

5.字典的增删改查

键值对:

酒店: 键:房间号,0-99 值:房间 里面放什么数据都可以

(1)增

1)直接增加 有则改之,无则增加

dic={'name':'太白','age':18}

dic['sex']='男'

print(dic) #{'name': '太白', 'age': 18, 'sex': '男'}

dic['age']=23 #改

print(dic) #{'name': '太白', 'age': 23}

2)setdefault 有则不变,无则增加

dic.setdefault('hobby')

print(dic) #{'name': '太白', 'age': 18, 'hobby': None}

dic.setdefault('hobby','球类运动')

print(dic) #{'name': '太白', 'age': 18, 'hobby': '球类运动'}

dic.setdefault('age',45)

print(dic) #{'name': '太白', 'age': 18}

dic={'name':'太白','age':18}

(2)删

1)pop 按照键去删除键值对,有返回值 ***

设置第二个参数则无论字典中有无此键都不会报错

ret=dic.pop('age')

print(ret) #18

print(dic) #{'name': '太白'}

1.1)

ret=dic.pop('hobby','没有此键')

print(ret) #没有此键

print(dic) #{'name': '太白', 'age': 18}

2)clear 清空 **

dic.clear()

print(dic) #{}

3)del **

del dic['age']

print(dic) #{'name': '太白'}

del dic['age1']

print(dic) #没有此键,则报错

(3)改

dic={'name':'太白','age':18}

dic['name']='alex'

print(dic) #{'name': 'alex', 'age': 18}

(4)查

dic={'name':'太白','age':18,'hobby_list':['直男','钢管','开车']}

(1)print(dic['hobby_list']) #['直男', '钢管', '开车']

2)get *** 推荐使用

l1=dic.get('hobby_list')

print(l1) #['直男', '钢管', '开车']

l1=dic.get('hobby_list1')

print(l1) #None

l1=dic.get('hobby_list2','没此键')

print(l1) #没此键

(5)三个特殊的 key() values() items()

1)

dic={'name':'太白','age':18,'hobby_list':['直男','钢管','开车']}

print(dic.keys(),type(dic.keys()))#dict_keys(['name', 'age', 'hobby_list'])

2)可以转化成列表

print(list(dic.keys())) #['name', 'age', 'hobby_list']

for key in dic.keys():

print(key)

>>>

name

age

hobby_list

或者

for key in dic:

print(key)

>>>name

age

hobby_list

3)values() 转化成值

①print(dic.values()) #dict_values(['太白', 18, ['直男', '钢管', '开车']])

②print(list(dic.values())) #['太白', 18, ['直男', '钢管', '开车']]

③for value in dic.values():

print(value)

>>>

太白

18

['直男', '钢管', '开车']

4)items() 所有的键值对

①print(dic.items()) #dict_items([('name', '太白'), ('age', 18), ('hobby_list', ['直男', '钢管', '开车'])])

②for i in dic.items():

print(i)

>>>

('name', '太白')

('age', 18)

('hobby_list', ['直男', '钢管', '开车'])

③ 利用元组的拆包

for key,value in dic.items():

print(key,value)

>>>

name 太白

age 18

hobby_list ['直男', '钢管', '开车']

面试题

对a,b互换

a=18

b=12

a,b=b,a

print(a,b) #12 18

6. 字典的嵌套

dic = {'name_list': ['王双', 'alex', '孙飞', 'taibai'],

1: {'name': 'taibai', 'age': 18, 'sex': '男'},

(1, 2): [100, {'ip':'192.168.1.1', 'port': 3306}]

}

1). 给name_list对应的列表追加一个值:司徒大人

dic['name_list'].append('司徒大人')

print(dic)

2). 将name_list对应的alex变成全部大写

dic['name_list'][1]=dic['name_list'][1].upper()

print(dic)

3). 将1对应的字典添加一个键值对:weight:75

dic[1].setdefault('weight',75)

dic[1]['weight']=75

print(dic)

4). 将1对应的字典的name键对应的名字taibai换成alex

dic[1][0]=dic[1]['alex']

dic[1]['name']='alex'

print(dic)

5). 将{'ip': '192.168.1.1', 'port': 3306}此字典的port键值对删除

dic[(1,2)][1].pop('port')

print(dic)

7.update

dic = {"name":"jin","age":18,"sex":"male"}

dic.update(a='666',b='333')

print(dic) #{'name': 'jin', 'age': 18, 'sex': 'male', 'a': '666', 'b': '333'}

dic.update(a='666',b='333',name='taibai')

print(dic) #{'name': 'taibai', 'age': 18, 'sex': 'male', 'a': '666', 'b': '333'}

总结

以上是生活随笔为你收集整理的python字典进行大写转化_python之字典的增删改查的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。