day05-Python字典

除了列表以外,字典也许是Python中最灵活的内置数据类型结果。如果把列表看做是有序的对象集合,那么就可以把字典看成无序的对象集合。它们主要的差别在于有序无序、字典是通过键值对来存储数据,key必须是唯一的,so字典天生去重。

 

1. 创建字典

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}
print(dict_test)
# {'sex': 'man', 'love': 'eat food', 'age': 23, 'name': 'wl'}

2. 增加字典的元素

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

dict_test['school'] = '江南2中'
print(dict_test)
# {'school': '江南2中', 'name': 'wl', 'love': 'eat food', 'sex': 'man', 'age': 23}

3. 修改字典的元素

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

dict_test['name'] = '张小燕'
print(dict_test)
# {'love': 'eat food', 'name': '张小燕', 'sex': 'man', 'age': 23}

 

4. 删除字典中的元素

4.1 使用pop()方法

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

p= dict_test.pop('sex')
print(p,dict_test)
# man  {'name': 'wl', 'age': 23, 'love': 'eat food'}

4.2 使用del进行删除

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

del dict_test['sex']
print(dict_test)
# {'age': 23, 'love': 'eat food', 'name': 'wl'}
# del dict_test删除整个字典

4.3 随机删除

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

dict_test.popitem() # 随机删除一个元素
print(dict_test)
# {'age': 23, 'name': 'wl', 'sex': 'man'}

 

5. 查找

5.1 使用get()方法查找

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

print(dict_test.get('love'))
# eat food

5.2 使用key值确定元素

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

print(dict_test['love'])
# eat food

 

6. 其他的使用方法

6.1 dict.values()方法

以列表的形式返回字典中的值,列表中可包含重复元素

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

print(dict_test.values())
# dict_values(['wl', 'man', 23, 'eat food'])

6.2 dict.keys()

以列表的形式返回字典中的key

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

print(dict_test.keys())
# dict_keys(['name', 'sex', 'love', 'age'])

6.3 dict.setdefault()方法

dict_test = {'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}
# 如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值。
a = dict_test.setdefault('namqe','zxl') print(a) # zxl

6.4 增加合并字典

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

dict1 = {'namqe':'zxl'}
dict_test.update(dict1)
print(dict_test)
# {'sex': 'man', 'age': 23, 'love': 'eat food', 'name': 'wl', 'namqe': 'zxl'}

6.5 dict.items()

所有的字典项以列表的方式返回,列表中的每一项都有(k,v),无顺序。

dict_test = {

    'name':'wl',

    'age':23,

    'sex':'man',

    'love':'eat food'

}
print(dict_test.items())
# dict_items([('name', 'wl'), ('love', 'eat food'), ('age', 23), ('sex', 'man')])



for k,v in dict_test.items():

    print(k,v)

#age 23
#name wl
#love eat food
#sex man

6.6 清空字典

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

dict_test.clear()
print(dict_test)
# {}

6.7 字典的复制

(1)dict1 = dict2


(2)dict.copy()
dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

dict_test1 = dict_test
dict_test.pop('age')
print(dict_test1)
# {'love': 'eat food', 'name': 'wl', 'sex': 'man'}

6.8 enumerate

dict_test = {
    'name':'wl',
    'age':23,
    'sex':'man',
    'love':'eat food'
}

for k,v in enumerate(dict_test):
    print(k,v)

# 0 age
# 1 name
# 2 love
# 3 sex

 

posted @ 2018-12-05 23:22  炫风真是风  阅读(193)  评论(0编辑  收藏  举报