python基础四

字典:python中唯一一个映射数据类型

按照可变与不可变分类:

可变:list   dict    set

不可变:  int   str    boor   tuple

key : value

key:是唯一的,且不可变的数据类型

value:任意数据类型

在3.5版本之前,字典是无序的,3.6是有序的

增:

#
dic = {"name":"刘林","age":23,"sex":"man"}
dic["name1"]= "liulin"
print(dic)
#输出:{'name': '刘林', 'age': 23, 'sex': 'man', 'name1': 'liulin'}
#
dic = {"name":"刘林","age":23,"sex":"man"}
dic.setdefault("name1","liulin")
print(dic)
#输出:{'name': '刘林', 'age': 23, 'sex': 'man', 'name1': 'liulin'}

删:

#①按key删,有返回值
dic = {"name":"刘林","age":23,"sex":"man"}
dic.pop("name","没有此项内容")
print(dic)
#如果name不在字典里,并且不写”没有此项内容“,则会报错
#②clear 清空
dic = {"name":"刘林","age":23,"sex":"man"}
dic.clear()
print(dic)
#输出:{}
#③del
#删除字典
dic = {"name":"刘林","age":23,"sex":"man"}
del dic

#删除键值对
dic = {"name":"刘林","age":23,"sex":"man"}
del dic["name"]
print(dic)
#输出:{'age': 23, 'sex': 'man'}

dic = {"name":"刘林","age":23,"sex":"man"}
dic.popitem()
print(dic)
#随机删除,但是python3.5之后有序,所以默认删除最后一个,有返回值
#输出:{'name': '刘林', 'age': 23}

改 :dic["key"] = value  key是字典里有的

#
dic = {"name":"刘林","age":23,"sex":"man"}
dic["name"] = "liulin"
print(dic)
#输出:{'name': 'liulin', 'age': 23, 'sex': 'man'}


#②update
dic = {"name":"刘林","age":23,"sex":"man"}
dic2 = {"name":"liulin","hobby":"basketball"}
dic.update(dic2)
print(dic)
#将dic的键值对进行覆盖并添加到dic
#输出:{'name': 'liulin', 'age': 23, 'sex': 'man', 'hobby': 'basketball'}

dic = {"name":"刘林","age":23,"sex":"man"}
print(dic["name"])
#没有返回值,如果没有key,报错
#输出:刘林

#get  有返回值,没有key 返回nane
dic = {"name":"刘林","age":23,"sex":"man"}
print(dic.get("name",”返回值“))
#输出:刘林

分别赋值:a,b = 1,2

                 a=1   b=2

罗列所有key:

dic = {"name":"刘林","age":23,"sex":"man"}
keys = dic.keys()
print(keys)
#输出:dict_keys(['name', 'age', 'sex'])

罗列所有值:

dic = {"name":"刘林","age":23,"sex":"man"}
values = dic.values()
print(values)
#输出:dict_values(['刘林', 23, 'man'])

罗列所有键值对:

dic = {"name":"刘林","age":23,"sex":"man"}
items = dic.items()
print(items)
#输出:dict_items([('name', '刘林'), ('age', 23), ('sex', 'man')])

循环:

dic = {"name":"刘林","age":23,"sex":"man"}
for i in dic:
    print(i)       #输出key
for k in dic.keys():
    print(k)      #输出key
for v in dic.values():
    print(v)      #输出value
items = dic.items()
print(items)    #输出:dict_items([('name', '刘林'), ('age', 23), ('sex', 'man')])

字典嵌套

dic = {
    'name':'金鑫',
    'name_list':[1,2,3,'李杰'],
    1:{
        'python10':['小黑','萌哥'],
       '老男孩':{'name':'oldboy','age':56}
    }
}
#1,[1,2,3,'李杰']追加'wusir'
#2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
#3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人
l = [1,2,3]
# print(l.append('wusir'))
# print(l)
# dic['name_list'].append('wusir')
# print(dic)
# l = dic[1]['python10']
# l.insert(1,'花哥')
# print(dic)
# dic1 = dic[1]
# dic2 = dic1['老男孩']
# dic2['hobby'] = '男人'

# dic[1]['老男孩']['hobby'] = 'man'
# print(dic)
原文地址:https://www.cnblogs.com/pygg/p/8352580.html