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

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

原创
作者头像
野原测试开发
修改2019-07-24 10:40:41
7190
修改2019-07-24 10:40:41
举报
文章被收录于专栏:技术探究

Python列表函数&方法

image.png
image.png

Python包含以下方法:

队列和栈的使用

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

方法

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

字典内置函数&方法

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

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

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

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

image.png
image.png

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

image.png
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
image.png

4.dict.has_key(key)

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

image.png
image.png

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

image.png
image.png

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

image.png
image.png

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

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

image.png
image.png
image.png
image.png

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

image.png
image.png

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

image.png
image.png

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

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

image.png
image.png
image.png
image.png

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

image.png
image.png

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

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

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

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

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