Python字典内置方法介绍

2019-08-02  本文已影响0人  拾实

①clear()

删除字典内所有元素。

dict_a = {'a': 97, 'b': 98, 'c': 99, 'd': 100}
dict_a.clear()
print(dict_a)

#{}

②copy()

拷贝某字典。

dict_b = {
    'a': 1,
    'b': 2,
    'c': 3
}
dict_c = dict_b.copy()
print(dict_c)

#{'a': 1, 'b': 2, 'c': 3}

③fromkeys()

创建一个新的字典,第一个参数为字典的键(key),第二个参数可选,为所有键对应的值(value)。

dict_t0 = dict.fromkeys('1')
dict_t1 = dict.fromkeys((1, 2, 3), 'a')
dict_t2 = dict.fromkeys((1, 2, 3), ('a', 'b', 'c'))
print(dict_t0, dict_t1, dict_t2)

#{'1': None} 
#{1: 'a', 2: 'a', 3: 'a'} 
#{1: ('a', 'b', 'c'), 2: ('a', 'b', 'c'), 3: ('a', 'b', 'c')}

可以看出,尝试给每个键附上不同的值用这个方法是不可取的。

④get()

参数为键(key),返回该键对应的值(value),若该键不存在或未对应值,则返回none。
get()方法可以使用第二个参数,当获取键不存在时,返回设定的值。

dict_a = {'a': 97, 'b': 98, 'c': 99, 'd': 100}
print(dict_a.get('b'))
print(dict_a.get('e'))
print(dict_a.get('e', 'test'))

#98
#None
#test

⑤items()

以列表形式返回字典的(键,值),常用来遍历一个字典。

dict_a = {'a': 97, 'b': 98, 'c': 99, 'd': 100}
list_t = dict_a.items()
print(list_t)
for key, value in dict_a.items():
    print(key, ':', value)
    
#dict_items([('a', 97), ('b', 98), ('c', 99), ('d', 100)])
#a : 97
#b : 98
#c : 99
#d : 100

⑥pop()

删除字典指定键和对应的值。

dict_a = {'a': 97, 'b': 98, 'c': 99, 'd': 100}
t = dict_a.pop('b')
print(t, dict_a)

#98 {'a': 97, 'c': 99, 'd': 100}

⑦popitem()

返回并删除字典末尾的(键,值)对,无参数。

dict_a = {'a': 97, 'b': 98, 'c': 99, 'd': 100}
for i in range(3):
    t = dict_a.popitem()
    print(t, dict_a)

#('d', 100) {'a': 97, 'b': 98, 'c': 99}
#('c', 99) {'a': 97, 'b': 98}
#('b', 98) {'a': 97}

⑧setdefault()

第一个参数为键(key),若存在则返回键对应的值(value),第二个参数为键不存在时的返回值,若不存在则会自动添加进字典。

dict_a = {'a': 97, 'b': 98, 'c': 99, 'd': 100}
t1 = dict_a.setdefault('a')
print(t1)
t2 = dict_a.setdefault('a', 101)
print(t2, dict_a)
t3 = dict_a.setdefault('e', 101)
print(t3, dict_a)

#97
#97 {'a': 97, 'b': 98, 'c': 99, 'd': 100}
#101 {'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101}

⑨update()

参数为一个字典,将参数内容添加至原字典。

dict_a = {'a': 97, 'b': 98, 'c': 99, 'd': 100}
dict_t = {'e': 101, 'f': 102}
dict_a.update(dict_t)
print(dict_a)

#{'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101, 'f': 102}

⑩values() and keys()

无参,返回字典所有值(value)或所有键(key)。

dict_d = {
    "apple": 'A',
    "and": 'A',
    "boy": 'B',
    "China": 'C'
}
print(dict_d.keys())
print(dict_d.values())


#dict_keys(['apple', 'and', 'boy', 'China'])
#dict_values(['A', 'A', 'B', 'C'])

转换成集合来避免value值重复。

print(set(dict_d.values()))

#{'C', 'A', 'B'}

如有错误,欢迎指正!

上一篇 下一篇

猜你喜欢

热点阅读