当前位置:   article > 正文

python数据结构之字典(dict)——超详细_创建一个字典dic,初始化账号和密码,使用字典的特点,如果输入的账号、密码与di

创建一个字典dic,初始化账号和密码,使用字典的特点,如果输入的账号、密码与di

字典(dict)

1.什么是字典

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

1.创建一个字典

直接用{}来创建

empty = {}
empty
  • 1
  • 2

   {}

type(empty)
  • 1

   dict

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

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

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

使用dict()函数来创建

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

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

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

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

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

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

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

2.修改键的值

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

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

3.字典的内置函数

1.fromkeys()函数

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

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

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

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

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

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

   {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()
  • 1
  • 2

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

dict1.values()
  • 1

   dict_values([1, 2, 3])

dict1.items()
  • 1

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

3.get()函数

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

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

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

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

   '木有^_^'

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

30 in dict1
  • 1

   False

'a' in dict1
  • 1

   True

4.clear()函数

清空一个字典

dict1.clear()
dict1
  • 1
  • 2

   {}

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

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

   {}

dict2
  • 1

   {}

5.copy()函数

用来复制字典

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

   1799550839400

id(dict2)
  • 1

   1799550838896

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

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

dict2
  • 1

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

6.pop()和popitem()

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

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

   1

dict1
  • 1

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

dict1.popitem()
  • 1

   ('c', 3)

dict1
  • 1

   {'b': 2}

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

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

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

8.update()

用来更新字典

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/515512
推荐阅读
相关标签
  

闽ICP备14008679号