Python5-字典

Python5-字典

1、字典概述

1.1字典特性

(1)字典是无序的。

(2)字典是是以键值对的方式储存的,也就是以key:value的形式来储存的。

(3)字典的关键字是dict;

(4)字典的数据形式是{}。

1.2字典排序的规则

(1)如果是数字,默认是从小到大排序;

(2)如果是字符串,内部处理的思路是把字符串转为数字后再排序,和1的规则一样;

(3)如果是多个字符串,比如aa,ab,那么这个时候他的规则是:

A、aa和ab先比较第一个字符串,发现第一个相同,就比较第二个;

B、比较第二个,如果相同,依次如A的方法进行处理,当遇到不同的时候,就将字符串转为数字,然后在排序,规则与1相同。

(4)把字符串转为数字,使用的内部函数是sorted();

(5)字典排序使用到的内部函数是sorted();

(6)必须是相同的数据类型才能进行比较。

2、字典的方法

2.1输出字典中所有的key

2.1.1keys获取字典中全部key值

 '''获取字典值'''
 dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
 print(dict1.keys())

 

 

2.1.2for循环获取key值

 dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
 
 for key,value in dict1.items():
    print(key,'-',value)

 

 

 

2.2获取字典中全部value

2.2.1values直接获取全部value值

 '''获取所有value值'''
 dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
 print(dict1.values())

 

 

 

2.2.2for循环获取value值

 dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
 for value in dict1.values():
    print(value)

 

 

2.3获取某个value值

 #获取某个value的值
 dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
 # print(dict1.get('name'))
 # print(dict1['name'])   #常用写法

 

 

 

2.4字典增加键值对

 dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
 dict1['address']='xian'
 print(dict1)

 

 

 

2.5字典中value值修改

 dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
 dict1['age']='18'
 print(dict1)

 

 

2.6字典追加

 dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
 dict2={'sex':'M'}
 dict1.update(dict2)
 print(dict1)
 print(dict2)

 

 

 

2.7删除字典键值对

dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
del dict1['address']
print(dict1)

 

 

 

2.8字典排序

2.8.1sorted排序

1、字典的排序使用的关键字是sorted() 2、dict1.item()针对字典进行循环输出key和value 3、在sorted内部,把key和value分别存储在不同的列表中 4、然后根据key=lambda item:item[0]来进行排序处理 A、根据索引来进行排序 B、把排序后的结果信息然后进行拼接 5、强制的转为字典的数据类型

 dict1={'name':'qqq','age':'20','sex':'M','address':'xian'}
 data1=dict(sorted(dict1.items(),key=lambda s:s[0]))
 print(data1)
 data1=dict(sorted(dict1.items(),key=lambda s:s[1]))
 print(data1)
 print(dict1.items())

 

 

 

2.8.2OrderedDict()

这种方式,只能在新添加字典时使其有序,但无法对已存在的字典进行排序。

 from collections import OrderedDict
 
 data=OrderedDict()
 data['age']=20
 data['name']='eee'
 data['sex']='M'
 print(dict(data))

 

 

 

3.数据类型转换

3.1列表与字符串转换

str1='Go,Python,Java'
list1=str1.split(',')
print(list1,type(list1))

str2=','.join(list1)
print(str2,type(str2))

 

 

 

3.2列表与元祖

tuple1=('qq',)
tuple_list=list(tuple1)
print(tuple_list,type(tuple_list))

list_tuple=tuple(tuple_list)
print(list_tuple,type(list_tuple))

 

 

 

3.3列表与字典

list1=['Go','Python','Java']
list1_dict=dict(enumerate(list1))
print(list1_dict,type(list1_dict))

dict_list=list(list1_dict.items())
print(dict_list,type(dict_list))

 

 

3.4字符串与字典的转换

str1='Go,Python,Java'

str_dict=str1.split(',')
str_dict=dict(enumerate(str_dict))
print(str_dict,type(str_dict))

 

 

posted @ 2022-06-14 20:12  饭依然特稀  阅读(39)  评论(0编辑  收藏  举报