前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2 Python 基础: 列表及字典内置函数&方法内容梳理

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

作者头像
野原测试开发
发布2019-09-03 18:24:31
1.1K0
发布2019-09-03 18:24:31
举报
文章被收录于专栏:技术探究

前言

这是 “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

实现深度复制:

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 离不开的网 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档