Chris-01

字典

  **字典是python中唯一的映射类型。

  1、字典创建方式:1)" {}" 直接创建  2)dict()函数创建       3)fromkeys()函数创建,

1)创建字典时,key不加引号,否则会报错。

2)dict()函数

dict() -> new empty dictionary
 |  dict(mapping) -> new dictionary initialized from a mapping object\'s
 |      (key, value) pairs
 |  dict(iterable) -> new dictionary initialized as if via:
 |      d = {}
 |      for k, v in iterable:
 |          d[k] = v
 |  dict(**kwargs) -> new dictionary initialized with the name=value pairs
 |      in the keyword argument list.  For example:  dict(one=1, two=2)

注意dict()函数与元组、列表、map()、zip()等配合使用的情况。

 

3)fromkeys()函数

fromkeys(iterable, value=None, /) from builtins.type

   |      Returns a new dict with keys from iterable and values equal to value.

 

此函数第一个参数是可得带对象,但是value值只有一个,也就是说此方法创建的字典的value都相同。

  

  2、字典存储方式为key-->value,所以索引和列表类似,但是字典存储是无序的,索引时下标必须是key,而不像列表那样默认的是0,1,2。

  3、可以通过索引方式向字典中添加、修改value值。

  4、当索引的key超出字典中原有的key值时,会自动创建相应的key和value。

 

   5、常见的内置方法:

key():取得所有的keys

values():取得所有的values

get():get()取得value值,当传入的key值不存在时,添加相应的key并默认相应的value值为None。

pop()、popitem():字典不存在顺序,所以pop()、popitem()都是随机取的。

 

  6、setdefault()和update()

 

 

  setdefault()和get()的对比与差别:

语法

setdefault()方法语法:

dict.setdefault(key, default=None)

参数

  • key -- 查找的键值。
  • default -- 键不存在时,设置的默认键值。

返回值

如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。

 

get()方法语法:

dict.get(key, default=None)

参数

  • key -- 字典中要查找的键。
  • default -- 如果指定键的值不存在时,返回该默认值值。

返回值

返回指定键的值,如果值不在字典中返回默认值 None。

 dict1
{1: \'a\', 2: \'s\', 3: \'c\'}
>>> dict1 = {1:\'a\',2:\'s\',3:\'c\'}
>>> dict1.get(4,\'four\')
\'four\'
>>> dict1
{1: \'a\', 2: \'s\', 3: \'c\'}
>>> dict1.setdefault(3,\'q\')
\'c\'
>>> dict1
{1: \'a\', 2: \'s\', 3: \'c\'}

 

  7、资格操作符 in 和 not in 在字典中。

要判断一个键(判断值是否存在,通过判断其对应的键是否存在)是否存在于字典中,通过 ‘’key in dic‘’即可,使用 \'\'key in dict.keys()\'\'的方式也可以。

dict1={1: \'好麻烦\', 2: \'好开心\', \'小乌龟\': \'456\', \'小甲鱼\': \'123\'}
>>> \'小甲鱼\' in dict1
True
>>> \'小甲鱼\'  in dict1.keys()
True
>>> \'小乌龟\'  in dict1.keys()
True

 

发表于 2019-01-17 12:48  Chris-01  阅读(106)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-19
  • 2022-12-23
  • 2021-12-28
  • 2021-11-27
  • 2021-05-06
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案