我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【Python】11、python内置数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【Python】11、python内置数


一、字典

1、字典的初始化

     字典是一种key-value结构,和set一样是无序的

In [160]: d = {}

In [161]: type(d)
Out[161]: dict


In [166]: d = {'a':1, 'b':2}

In [167]: d
Out[167]: {'a': 1, 'b': 2}

In [180]: d = dict({"a":0, "b":1})

In [181]: d
Out[181]: {'a': 0, 'b': 1}


In [164]: d = dict([["a", 1], ["b", 2]]) # 可迭代对象的元素必须是一个二元组

In [165]: d
Out[165]: {'a': 1, 'b': 2}


In [168]: d = dict.fromkeys(range(5))   # 传入的可迭代元素为key,值为None

In [169]: d
Out[169]: {0: None, 1: None, 2: None, 3: None, 4: None}

In [170]: d = dict.fromkeys(range(5), "abc")  # 传入的可迭代元素为key,值为abc

In [171]: d
Out[171]: {0: 'abc', 1: 'abc', 2: 'abc', 3: 'abc', 4: 'abc'}


二、字典的基本操作

1、增和改

In [173]: d = {'a':1, 'b':2}     # 直接使用key做为索引,对某个不存在的索引赋值会增加KV对

In [174]: d["c"] = 1

In [175]: d
Out[175]: {'a': 1, 'b': 2, 'c': 1}

In [175]: d
Out[175]: {'a': 1, 'b': 2, 'c': 1}

In [176]: d["b"] = 1

In [177]: d
Out[177]: {'a': 1, 'b': 1, 'c': 1}


## dict.update()   通常用于合并dict

In [178]: d.update((("d", 4),("e", 5)))

In [179]: d
Out[179]: {'a': 1, 'b': 1, 'c': 1, 'd': 4, 'e': 5}


In [1]: d = {'a':1, 'b':2}

In [2]: d.update({'c':3, 'd':4})

In [3]: d
Out[3]: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

In [6]: d.update({'c':3, 'd':44})     # 当键存在时,其值会更新

In [7]: d
Out[7]: {'a': 1, 'b': 2, 'c': 3, 'd': 44}


2、删

## dict.pop()

In [23]: help(d.pop)

Help on built-in function pop:

pop(...) method of builtins.dict instance
    D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
    If key is not found, d is returned if given, otherwise KeyError is raised
(END) 


In [24]: d
Out[24]: {'a': 11, 'b': 2}

In [25]: d.pop('a')
Out[25]: 11

In [26]: d.pop('c')
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-26-adf338c8a0db> in <module>()
----> 1 d.pop('c')

KeyError: 'c'

In [27]: d.pop('c', 555)
Out[27]: 555

In [28]: d.pop('b', 555)
Out[28]: 2

In [30]: d
Out[30]: {}


## dict.popitem    随机返回一个KV对的二元组

In [33]: help(d.popitem)  


Help on built-in function popitem:

popitem(...) method of builtins.dict instance
    D.popitem() -> (k, v), remove and return some (key, value) pair as a
    2-tuple; but raise KeyError if D is empty.

    
In [35]: d = {'a':1, 'b':2}

In [36]: d
Out[36]: {'a': 1, 'b': 2}

In [37]: d.popitem()
Out[37]: ('b', 2)

In [38]: d
Out[38]: {'a': 1}

In [39]: d.popitem()
Out[39]: ('a', 1)

In [40]: d
Out[40]: {}

In [41]: d.popitem()
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-41-5d3e77a54ba7> in <module>()
----> 1 d.popitem()

KeyError: 'popitem(): dictionary is empty'


## dict.clear()

In [52]: d = {'a':1}

In [53]: d.clear()

In [54]: d
Out[54]: {}

In [55]: d.clear()


## del

In [61]: d = {'a':1}

In [62]: del d['a']

In [63]: d
Out[63]: {}

In [64]: del d

In [65]: d
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-65-e29311f6f1bf> in <module>()
----> 1 d

NameError: name 'd' is not defined

      能修改dict的key吗?

            只能通过先删除一个key再增加一个key来变相修改


2、查

 1)单个元素的访问

In [1]: d = {'a':1, 'b':2}
In [2]: d
Out[2]: {'a': 1, 'b': 2}
In [3]: d['a']
Out[3]: 1
In [4]: d['c']
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-4-3e4d85f12902> in <module>()
----> 1 d['c']
KeyError: 'c'


## dict.get()

In [5]: help(d.get)

Help on built-in function get:

get(...) method of builtins.dict instance
    D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.
(END) 


In [6]: d
Out[6]: {'a': 1, 'b': 2}

In [7]: d.get('a')
Out[7]: 1

In [8]: d.get('c')

In [9]: d
Out[9]: {'a': 1, 'b': 2}

In [12]: d.get('c', 123)
Out[12]: 123

In [13]: d
Out[13]: {'a': 1, 'b': 2}


## dict.setdefault()  获取K的值,K不存在时则新增该K和其V,V默认为None

In [14]: help(d.setdefault)

Help on built-in function setdefault:

setdefault(...) method of builtins.dict instance
    D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
(END) 

In [15]: d
Out[15]: {'a': 1, 'b': 2}

In [16]: d.setdefault('a')
Out[16]: 1

In [17]: d.setdefault('c')

In [18]: d
Out[18]: {'a': 1, 'b': 2, 'c': None}

In [19]: d.setdefault('d', 123)
Out[19]: 123

In [20]: d
Out[20]: {'a': 1, 'b': 2, 'c': None, 'd': 123}

In [21]: d.setdefault('a', 123)
Out[21]: 1

In [22]: d
Out[22]: {'a': 1, 'b': 2, 'c': None, 'd': 123}


 1)元素的遍历

    dict的元素是成对出现的

In [23]: d
Out[23]: {'a': 1, 'b': 2, 'c': None, 'd': 123}

In [24]: for i in d:
    ...:     print(i)
    ...:     
a
b
c
d

In [25]:

     直接用for in 遍历dict、遍历的是key


dict.keys()

In [25]: help(d.keys)


Help on built-in function keys:

keys(...) method of builtins.dict instance
    D.keys() -> a set-like object providing a view on D's keys
(END) 


In [26]: d
Out[26]: {'a': 1, 'b': 2, 'c': None, 'd': 123}

In [27]: d.keys()
Out[27]: dict_keys(['a', 'b', 'c', 'd'])

dict.values():

In [29]: d
Out[29]: {'a': 1, 'b': 2, 'c': None, 'd': 123}

In [30]: d.values()
Out[30]: dict_values([1, 2, None, 123])

In [35]: lst = list(d.values())

In [36]: lst
Out[36]: [1, 2, None, 123]

dict.items()

In [37]: d
Out[37]: {'a': 1, 'b': 2, 'c': None, 'd': 123}

In [38]: d.items()
Out[38]: dict_items([('a', 1), ('b', 2), ('c', None), ('d', 123)])

In [39]: lst = d.items()

In [40]: type(lst)
Out[40]: dict_items

In [41]: lst = list(d.items())

In [42]: lst
Out[42]: [('a', 1), ('b', 2), ('c', None), ('d', 123)]


In [43]: for k, v in d.items():
    ...:     print(k, v)
    ...:     
a 1
b 2
c None
d 123

In [44]:

    dict.keys()、dict.value()、dict.items()返回的都类似生成器;它并不会复制一份内存

     python2中队友的方法返回的list,会复制一份内存


字典对Key和Value的限制:

     字典的key需要不重复、可hash

     字典是无序的


三、标准库中dict的变体

1、defaultdict   默认字典

In [3]: from collections import defaultdict

In [4]: d1 = {}

In [5]: d2 = defaultdict()

In [6]: type(d1)
Out[6]: dict

In [7]: type(d2)
Out[7]: collections.defaultdict

In [8]: d1
Out[8]: {}

In [9]: d2
Out[9]: defaultdict(None, {})

In [46]: d2['a'] = 11

In [47]: d2
Out[47]: defaultdict(None, {'a': 11})


In [12]: help(defaultdict)

Help on class defaultdict in module collections:

class defaultdict(builtins.dict)
 |  defaultdict(default_factory[, ...]) --> dict with default factory
 |  
 |  The default factory is called without arguments to produce
 |  a new value when a key is not present, in __getitem__ only.
 |  A defaultdict compares equal to a dict with the same items.
 |  All remaining arguments are treated the same as if they were
 |  passed to the dict constructor, including keyword arguments.
 |  
 |  Method resolution order:
 |      defaultdict
 |      builtins.dict
 |      builtins.object
 

In [13]: d2 = defaultdict(list)

In [14]: d2
Out[14]: defaultdict(list, {}) 

In [15]: d1['a']
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-15-a9ea8faf9ae0> in <module>()
----> 1 d1['a']

KeyError: 'a'

In [16]: d2['a']
Out[16]: []

In [19]: d2
Out[19]: defaultdict(list, {'a': []})

In [20]: d2['a']
Out[20]: []

In [21]: d2
Out[21]: defaultdict(list, {'a': []})

In [22]: d2['a'] = 11

In [23]: d2
Out[23]: defaultdict(list, {'a': 11})

In [24]: d2['a']
Out[24]: 11

    default初始化的时候,需要传入一个函数,这个函数也交工厂函数,当我们使用下标访问key的时候,如果这个key不存在,defaultdict会自动调用初始化时传入的函数,生成一个对象作为这个key的value。


2、有序字典

In [58]: from collections import OrderedDict

In [59]: d = OrderedDict()

In [60]: d
Out[60]: OrderedDict()

In [61]: d['a'] = 1

In [62]: d['b'] = 2

In [63]: d['c'] = 3

In [64]: d
Out[64]: OrderedDict([('a', 1), ('b', 2), ('c', 3)])

In [65]: for k, v in d.items():
    ...:     print(k, v)
    ...:     
a 1
b 2
c 3

       有序dict会保持插入顺序



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【Python】11、python内置数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

【Python】11、python内置数

一、字典1、字典的初始化     字典是一种key-value结构,和set一样是无序的In [160]: d = {}In [161]: type(d)Out[161]: dictIn [166]: d = {'a':1, 'b':2}I
2023-01-31

python学习笔记11-python内

python学习笔记11-python内置函数一、查看python的函数介绍:https://docs.python.org/2/library/ 二、python内置函数1、abs获取绝对值:通过python官网查看absabs(x)Re
2023-01-31

【Python】06、python内置数

一、数据结构与获取帮助信息1、数据结构  通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其它的数据结构。  python的最基本数据结构是序列  序列中的每个元素被分配一个序号(即元
2023-01-31

【Python】07、python内置数

一、字符串1、定义和初始化In [4]: s = "hello python"In [4]: s = "hello python"In [5]: sOut[5]: 'hello python'In [6]: s = 'hello pytho
2023-01-31

【Python】10、python内置数

一、集合1、集合的定义In [74]: s = {}In [74]: s = {}    # 空大括号是空的字典In [75]: type(s)Out[75]: dictIn [77]: type(s)Out[77]: setIn [78]
2023-01-31

python 内置函数

python内置了一系列的常用函数,以便于我们使用python。基本的数据操作基本都是一些数学运算(当然除了加减乘除)、逻辑操作、集合操作、基本IO操作,然后就是对于语言自身的反射操作,还有就是字符串操作。官方文档:https://docs
2023-01-30

python内置函数

什么是内置函数? 就是python给你提供的,拿来直接用的函数, 比如print 和 input等等. 截止到python版本3.6.2 python一共提供了68个内置函数. 他们就是python直接提供给我们的,有一些我们已经见过了.
2023-01-30

Python系列-python内置函数

本文转载自:http://www.javaxxz.com/thread-359303-1-1.htmlabs(x)返回数字的绝对值,参数可以是整数、也可以是浮点数。如果是复数,则返回它的大小all(iterable)对参数中的所有元素进行迭
2023-01-31

Python的内置函数

1.什么是内置函数?  就是python给你提供的. 拿来直接⽤的函数, 比如print., input等等. 截止到python版本3.6 python一共提供了68个内置函数. 他们就是python直接提供给我们的Makedown地址:
2023-01-31

Python之内置函数

'''内置函数 :    作用域相关(2) :        locals : 返回当前局部作用域内的所有内容        globals : 返回全局作用域内的所有内容    基础数据类型相关(38) :        和数字相关 : 
2023-01-31

python内置函数1

1.r=compile(s,"","exec")  compile()将字符串编译成python代码2.exec(r)  执行python代码3.eval("8*6") eval("")里面只能执行表达式,执行eval()会
2023-01-31

python内置函数3-delattr(

Help on built-in function delattr in module __builtin__:delattr(...)    delattr(object, name)        Delete a named attr
2023-01-31

python内置函数3-complex(

Help on class complex in module __builtin__:class complex(object) |  complex(real[, imag]) -> complex number |   |  Crea
2023-01-31

python内置函数3-dir()

Help on built-in function dir in module __builtin__:dir(...)    dir([object]) -> list of strings        If called withou
2023-01-31

python内置函数2-bytearra

Help on class bytearray in module __builtin__:class bytearray(object) |  bytearray(iterable_of_ints) -> bytearray. |  by
2023-01-31

python内置数据结构

1、列表--是一个序列,用于顺序的存储数据列表的定义与初始化In [374]: lst = list()In [375]: lstOut[375]: []In [376]: lst = []In [377]: lst = [1,2,3]In
2023-01-31

python内置函数3-compile(

Help on built-in function compile in module __builtin__:compile(...)    compile(source, filename, mode[, flags[, dont_in
2023-01-31

python内置函数3-cmp()

Help on built-in function cmp in module __builtin__:cmp(...)    cmp(x, y) -> integer        Return negative if x
2023-01-31
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录