python数据结构之字典(dict)

您所在的位置:网站首页 定义字典的关键字是什么 python数据结构之字典(dict)

python数据结构之字典(dict)

2024-07-16 18:00| 来源: 网络整理| 查看: 265

字典(dict)

1.什么是字典

字典是具有映射关系的一个集合,有自己的标志性符号,用{}来定义。字典由多个键以及其对应的键值共同构成的,字典是无序的,只讲究对应关系,并且字典中的键是独一无二的

1.创建一个字典

直接用{}来创建

empty = {} empty

   {}

type(empty)

   dict

下面这种方式,键必须加引号,且键与值之间用 : (冒号)连接起来

dict1 = {'a' : 1, 'b' : 2, 'c' : 3} dict1

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

使用dict()函数来创建

# dict1 = dict((('a', 1), ('b', 2), ('c', 3))) dict1

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

也可以这样来写,与值之间用 = (等号)连接起来的话,键的位置不能加上字符串的引号,否则会报错

dict1 = dict(a = 1, b = 2, c = 3) dict1

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

dict1 = dict(zip(['a', 'b', 'c'], [1, 2, 3])) dict1

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

2.修改键的值

dict1['a'] = 2 dict1['b'] = 1 dict1

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

3.字典的内置函数

1.fromkeys()函数

用于创建并返回一个新的字典,它有俩个参数:第一个参数是字典的键;第二个参数是传入键的值,如果不写,默认为None

dict1 = {} dict1.fromkeys((1, 2, 3))

   {1: None, 2: None, 3: None}

dict2 = {} dict2.fromkeys((1, 2, 3), "Number")

   {1: 'Number', 2: 'Number', 3: 'Number'}

dict3 = {} dict3.fromkeys((1, 2, 3), ("noe", "two", "three"))

   {1: ('noe', 'two', 'three'),     2: ('noe', 'two', 'three'),     3: ('noe', 'two', 'three')}

2.访问字典的方法:keys()、value()和items()

keys()用于返回字典中的键,values()用于返回字典中所有的值,items()返回字典中所有的键值对

dict1 = {'a' : 1, 'b' : 2, 'c' : 3} dict1.keys()

   dict_keys(['a', 'b', 'c'])

dict1.values()

   dict_values([1, 2, 3])

dict1.items()

   dict_items([('a', 1), ('b', 2), ('c', 3)])

3.get()函数

当键不存在时,get()方法并不会报错,只是默默的返回一个None,表示啥也没找到.

dict1 = {'a' : 1, 'b' : 2, 'c' : 3} dict1.get('d')

如果希望找不到数据时,返回指定的值,可以在get()的第二个参数中设置对应的默认返回值

dict1.get("孙悟空","木有^_^")

   '木有^_^'

也可以通过in 和 not in 来判断一个键是否在字典中

30 in dict1

   False

'a' in dict1

   True

4.clear()函数

清空一个字典

dict1.clear() dict1

   {}

使用clear()函数,可以使所有指向该字典的其他字典都清空

dict1 = {'a' : 1, 'b' : 2, 'c' : 3} dict2 = dict1 dict1.clear() dict1

   {}

dict2

   {}

5.copy()函数

用来复制字典

dict1 = {'a' : 1, 'b' : 2, 'c' : 3} dict2 = dict1.copy() id(dict1)

   1799550839400

id(dict2)

   1799550838896

dict1['a'] = 2 dict1

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

dict2

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

6.pop()和popitem()

pop()是给定键弹出的值,而popitem()是弹出一个键值对

dict1 = {'a' : 1, 'b' : 2, 'c' : 3} dict1.pop('a')

   1

dict1

   {'b': 2, 'c': 3}

dict1.popitem()

   ('c', 3)

dict1

   {'b': 2}

7.setdefault()与get()类似,但是setdefault()在字典中找不到对应的键时会自动添加

dict1 = {'a' : 1, 'b' : 2, 'c' : 3} dict1.setdefault('d') dict1

   'a': 1, 'b': 2, 'c': 3, 'd': None}

8.update()

用来更新字典

dict1 = {'a' : 1, 'b' : 2, 'c' : 3} dict1.update(a = 2) dict1

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3