python基本数据类型之字典

字典dict

字典是另一种可变容器模型,且可存储任意类型对象。

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度

 

# 字典
# 1、基本构成
# info  = {
#     "k1" : "v1", #键值对
#     "k2" : "v2",
# }

# 2、字典中的value可以是任何值  想嵌套多少嵌套多少层
# info = {
#     "k1": 18,
#     "k2": True,
#     "k3": [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4": (11,22,33,44)
# }

# 3、列表、字典不能做为字典的key    如果key相同,输出的时候不打印

# info = {
#     "k1" : 18,
#     "k2" : True,
#     "k3" : [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4" : (11,22,33,44),
#     "True" : "123"
#     #[1,2,3,"alex"]: 123,列表不能做key
#     #{"k1":"v1"} : 123, 字典不能做key
# }
# print(info)

# 4、字典是无序的

# 5、索引方式找到指定元素

# info = {
#     "k1": 18,
#     "k2": True,
#     "k3": [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4": (11,22,33,44)
# }
# # v = info["k1"]
# # print(v)
# # v = info[2]
# # print(v)
# v = info["k3"][5]["kk3"][0]
# print(v)

# 6、字典支持del 删除
# info = {
#     "k1": 18,
#     "k2": True,
#     "k3": [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4": (11,22,33,44)
# }
# del info["k1"]
# del info["k3"][5]["kk1"]
# print(info)

# 7 for 循环
# info = {
#     "k1": 18,
#     "k2": True,
#     "k3": [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4": (11,22,33,44)
# }
# for item in info :   #循环字典中的key
#     print(item)

# for i in info.keys():   #循环字典中的key
#     print(i)

# for i in info.values():   #循环字典中的values
#     print(i)

# for i in info.keys():
#     print(i,info[i])

# for i,v in info.items():   key 和 values 搜客循环出来
#     print(i,v)

# ###############字典中特有的功能########################

# 1、根据序列,创建字典,并指定元素
# v = dict.fromkeys(['k',123,'999'],123)#静态方法
# print(v)

# 2、根据key获取值,key不存在时,可以指定默认值(None)
dic = {
    "k1":"v1",
    "k2":[]
}
# v = dic.get("k1",11111)
# print(v)

# 3、删除并获取值
# v = dic.pop("k11111",90)
# print(dic,v)
# k,v = dic.popitem()#随机删除
# print(dic,k,v)

# 4、设置值,已经存在不设置,获取当前key对应的值、
# 设置值,不存在设置,获取当前key对应的值
# v = dic.setdefault("k11","13")
# print(dic,v)

# 5、 已经存在的覆盖key对应的值,不存在创建
# dic.update({'k1':11111,'k3':'alex'})
# dic.update(k1=123,k3=235,k5="asdf")

# print(dic)

dict
定义:{key1:value1,key2:value2},key-value结构,key必须可hash
特性:
1.可存放多个值
2.可修改指定key对应的值,可变
3.无


字典内置函数&方法

Python字典包含了以下内置函数:

序号函数及描述实例
1 len(dict)
计算字典元素个数,即键的总数。
>>> dict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
>>> len(dict)
3
2 str(dict)
输出字典以可打印的字符串表示。
>>> dict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
>>> str(dict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
3 type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
>>> dict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
>>> type(dict)
<class 'dict'>

Python字典包含了以下内置方法:

 

序号函数及描述
1 radiansdict.clear()
删除字典内所有元素
2 radiansdict.copy()
返回一个字典的浅复制
3 radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5 key in dict
如果键在字典dict里返回true,否则返回false
6 radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
7 radiansdict.keys()
以列表返回一个字典所有的键
8 radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
10 radiansdict.values()
以列表返回字典中的所有值



  

posted @ 2017-05-28 15:18  摆渡人1993  阅读(127)  评论(0编辑  收藏  举报