day05--基本数据类型(dic字典)

一,字典的简单介绍

  字典用{ }表示,每次保存两个数据 key:value  ,键值对的形式存储数据
        value:可以是任意数据类型,元祖,列表等
        key:必须是可哈希的(不可变)    key其实就是索引,使用[]
    无序的,不按照我们保存的顺序保存,字典不能切片                 
   语法 :
    {key1: value1, key2: value2....}

二,字典的增删改查

  1,增加

    dic["a"] = "1"

    dic["a"]= "2"     如果key存在,执行的事修改结果,如果key不存在,执行的事新增

    .setdefault()  放置一个值事key,如果key不存在,执行新增,如果key存在,不执行任何操作

dic = {}
dic["a"] = "1"
dic["a"] = "2"
print(dic)   #{'a': '2'}

dic.setdefault("a","2")   #接着上面开始操作,结果为{'a': '2'},没有执行任何操作
dic.setdefault("b","3")   #执行新增{'a': '2', 'b': '3'}
print(dic)

  2,删除

    .pop(" "),引号里面放的是key,返回的事velue

    del dic["key"]     没有返回

    .clear  清空

    .popitem 随机删除

     解构:  要相对应,前面几个,后面就要有几个,元祖,列表,字符串都可以解构

               a,b = (1,6)

                print(a)    #1

                print(b)     #6

  3.更改

    .update:把dic2更新到dic1中,dic1中如果存在了dic2中的key,会覆盖,如果不存在,则会新增这个key.

dic = {"id": 123, "name": 'sylar', "age": 18}
dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"}
dic.update(dic1) # 把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存在key, 则新增. print(dic)
print(dic1)

  4.查询

    索引查   print(dic["  "])    查不到会报错,引号里面放置的是key

    .get(key,default)   查找,一般用key来查找具体数据

dic = {"name":"haha","age":18,"hobby":""}
print(dic["name"])
print(dic.get("hobby"))

  5, 其他相关操作

    .keys   获取key的集合

dic = {"name":"haha","age":18,"hobby":""}
print(dic.keys())   #dict_keys(['name', 'age', 'hobby'])
for key in dic.keys():
    print(key)
# name
# age
# hobby

    .values  获取value的集合

dic = {"name":"haha","age":18,"hobby":""}
print(dic.values())
for value in dic.values():
    print(value)
# haha
# 18
#

    ,items  获取的列表,列表中的每个元素都是元祖,可以通过解构获取key和value

dic = {"name":"haha","age":18,"hobby":""}
print(dic.items())   #dict_items([('name', 'haha'), ('age', 18), ('hobby', '吃')])
for key,value in dic.items():
    print(key,value)
# name haha
# age 18
# hobby 吃

三,字典的嵌套

dic1 = {
"name": "汪峰", "age": 18, "wife": {
"name": '章子怡',
"age": 28 },
"children": ['第一个毛孩子', '第二个毛孩子'],
"desc": '峰哥不会告我吧. 没关系. 我想上头条的' }
print(dic1.get("wife").get("name")) print(dic1.get("children")) print(dic1.get("children")[1])

猜你喜欢

转载自www.cnblogs.com/lianghui-lianghui/p/9159765.html