dict 字典数据结构

字典数据结构本质就是键值对(key-value) 例如根据学生姓名查找成绩,本身也属于键值对操作。 使用dict的优势在于,在查找的时候速度特别快。 缺点就在于比较耗内存,本质上是用空间换时间的操作。

我们首先声明一个dict对象

dictA = {
    "key1": "Value1",
    "key2": "Value2",
    "key3": "Value3"
}

其中key可以为任意不可变值,value可以任意值

type(dictA)
dict
dictA
{'key1': 'Value1', 'key2': 'Value2', 'key3': 'Value3'}
# 获取字典的长度
len(dictA)
3
# 获取某个key的值
dictA["key1"]
'Value1'
# 查看dict中是否有特定的key
"key10" in dictA
False
"key1" in dictA
True
# dict中添加一个键值对
dictA["key4"] = "value4"
dictA
{'key1': 'Value1', 'key2': 'Value2', 'key3': 'Value3', 'key4': 'value4'}
# dict中删除一个key
dictA.pop('key1')
dictA
{'key2': 'Value2', 'key3': 'Value3', 'key4': 'value4'}
# 修改dict中的值
dictA["key2"] = 12

dictA
{'key2': 12, 'key3': 'Value3', 'key4': 'value4'}
# FOR 循环遍历 dict结构

for key in dictA:
    print("%s: %s"%(key,dictA[key]))
key2: 12
key3: Value3
key4: value4
# 获取所有的 值 values
dictA.values()
dict_values([12, 'Value3', 'value4'])
list(dictA.values())
[12, 'Value3', 'value4']
# 获取所有的 键keys
dictA.keys()
dict_keys(['key2', 'key3', 'key4'])
# 变为list类型
list(dictA.keys())
['key2', 'key3', 'key4']
# items 类似(key,value)tuple的数组
dictA.items()
dict_items([('key1', 'Value1'), ('key2', 'Value2'), ('key3', 'Value3')])
for (key, value) in dictA.items():
    print("%s : %s"%(key, value))
key1 : Value1
key2 : Value2
key3 : Value3

我们可以用json的语法给dict赋值

#dict的复杂用法

fange = {
    "name": "Fange",
    "age": 12,
    "friends": [
        {
            "name": "Hardware"
        },
        {
            "name": "Sofware"
        }
    ],
    "school": {
        "HighSchool": "HighSchoolA",
        "University": "University"
    }
}
fange["name"]
'Fange'
fange["friends"][0]
{'name': 'Hardware'}
fange["school"]["HighSchool"]
'HighSchoolA'
Copyright 杭州云江科技有限公司 2017 all right reserved,powered by Gitbook该文件修订时间: 2018-04-02 09:53:14

results matching ""

    No results matching ""