专栏首页技术探究-前端、Python、爬虫、数据分析、工具2 Python 基础: 列表及字典内置函数&方法内容梳理
原创

2 Python 基础: 列表及字典内置函数&方法内容梳理

Python列表函数&方法

image.png

Python包含以下方法:

队列和栈的使用

  • 队列:先进先出【任务队列】(先进来的任务先拿出来解决)
  • 栈:后进先出【页面路由、恢复撤销】

方法

  1. list.append(obj) 在列表末尾添加新的对象(在JavaScript里面就是push()方法)
  2. list.count(obj) 统计某个元素在列表中出现的次数
image.png
  1. list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
image.png
  1. list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
image.png
  1. list.insert(index, obj) 将对象插入列表
image.png
  1. list.pop(obj=list-1) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
image.png
  1. list.remove(obj) 移除列表中某个值的第一个匹配项
  2. list.reverse() 反向列表中元素
image.png
  1. list.sort(func) 对原列表进行排序
image.png

字典内置函数&方法

Python字典包含了以下内置函数:

  1. len(dict) 计算字典元素个数,即键的总数。
image.png
  1. str(dict) 输出字典可打印的字符串表示。
image.png
  1. type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。
image.png

Python字典包含了以下内置方法:

1. dict.clear() 删除字典内所有元素(键值对)

image.png

2. dict.copy() 返回一个字典的复制

image.png

实现深度复制:

import json
student = {
    'name':'老李',
    'class':'三年二班',
    'studentNum':40,
    'obj':{'name':'李四'}
}

def deepCopy(dictObj):
    if isinstance(dictObj,dict):
        deepObj = {}
        for key,value in dictObj.items():
            if isinstance(value,dict):
                deepObj[key] = deepCopy(value)
            elif isinstance(value,list):
                newList = []
                for item in value:
                    if isinstance(value,dict) or isinstance(value,list):
                        item = deepCopy(item)
                    newList.append(item)
                deepObj[key] = newList
            else:
                deepObj[key] = value
    else:
        newList = []
        for item in value:
            if isinstance(value,dict) or isinstance(value,list):
                item = deepCopy(item)
            newList.append(item)
        deepObj = newList
    return deepObj

s2 = deepCopy(student)
s2['obj']['name'] = 'xixi'
# print(s2)
# print(student)
这里是不用json格式的深度复制
s3 = json.loads(json.dumps(s2))
s3['obj']['name'] = '666'
print(s3)
print(s2)



#输出
{'name': '老李', 'class': '三年二班', 'studentNum': 40, 'obj': {'name': '666'}}
{'name': '老李', 'class': '三年二班', 'studentNum': 40, 'obj': {'name': 'xixi'}}

3.dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值

image.png

4.dict.has_key(key)

如果键在字典dict里返回true,否则返回false(**python3**之后没了)

image.png

5.dict.items() 以列表返回可遍历的(键, 值) 元组数组

image.png

6.dict.keys() 以列表返回一个字典所有的键

image.png

7.dict.setdefault(key, default=None)

和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default(很灵活的,可以修改)

image.png
image.png

8.dict.update(dict2) 把字典dict2的键/值对更新到dict里

image.png

9.dict.values() 以列表返回字典中的所有值

image.png

10.pop(key,default) 删除字典给定键 key

所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

image.png
image.png

11.popitem() 随机返回并删除字典中的一对键和值。

image.png

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2 Python 基础: 列表及字典内置函数&方法内容梳理

    3.dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值

    小Gy
  • 17 Python 基础: 重点知识点--Pygame实现儿时经典游戏坦克大战

    本文首发于腾讯云+社区,也可关注微信公众号【离不开的网】支持一下,就差你的关注支持了。

    小Gy
  • 9 Python 基础: 手把手带你梳理对象、继承与多态知识点

    在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。

    小Gy
  • 腾讯云服务器关闭防火墙

    本文章提供windows2008,windows2012以及windows2016操作系统如何关闭防火墙的截图步骤;

    用户4049265
  • Java Agent那点事

    给公司的一些研发同事分享了Java Agent一些简单的原理和实现,最近比较懒就不整理成文字了,直接上ppt截图。

    小程故事多
  • 小技巧-Chrome长截屏

    Spaceack
  • Android入门学习笔记(1)IDE了解

    intent-filter的功能介绍:https://blog.csdn.net/grandgrandpa/article/details/83587840

    逆回十六夜
  • 安装Windows Performance Toolkit进行0.1微秒级CPU监控

    我研究了WPR,它的最小时间单位是0.1微秒,即10000个单位是1毫秒,精细度非常高

    shawyang
  • 自由漂浮机器人运动学和动力学建模

    随着空间技术的不断发展和人类对空间探索的不断深入,空间机器人在完成诸如空间站的建造与维护等任务中发挥着重要的作用。

    ZC_Robot机器人技术
  • 线性回归和梯度下降

    这里theta0和theta1是同事变化的,每一次求出theta0和theta1之后再进行下一次的迭代。

    opprash

扫码关注云+社区

领取腾讯云代金券