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

前言

这是 “Python 基础”系列的第 02 篇文章 ,共 20 篇 。 01 Python 基础:Python入门必看之语法基础 02 Python 基础:列表及字典内置函数&方法内容梳理 03 Python 基础:Python函数及递归函数知识点梳理 04 Python 基础:讲解迭代、过滤、匿名函数、排序算法四大知识点 05 Python 基础:高阶函数学习实践 06 Python 基础:难点装饰器的学习介绍及实现赌博收益小案例 07 Python 基础:重点知识点函数的参数难点解答 08 Python 基础:面试问你类与实例及其属性还不会吗 09 Python 基础:手把手带你梳理对象、继承与多态知识点 10 Python 基础:如何定制类,这里有答案 11 Python 基础:知识巩固,实现一个简易学生管理系统 12 Python 基础:如何优化代码质量,错误、调试和测试你必须要懂 13 Python 基础:模块的概念及使用方法并着重介绍两个常用模块 14 Python 基础:重点知识点--IO编程 15 Python 基础:程序猿必懂知识之正则表达式 16 Python 基础:重点知识点--Pygame的基础知识梳理 17 Python 基础:重点知识点--Pygame实现儿时经典游戏坦克大战 18 Python 基础:重点知识点--进程和线程概念、应用知识梳理 19 Python 基础:重点知识点--网络通信基础知识讲解 20 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

本文分享自微信公众号 - 离不开的网(Gy_dxj)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券