list文档
文档
class list(object):
"""
list() -> new empty list
list(iterable) -> new list initialized from iterable's items
"""
def append(self, p_object): # real signature unknown; restored from __doc__
"""
L.append(object) -> None -- append object to end
在列表的最后添加元素
"""
pass def clear(self): # real signature unknown; restored from __doc__
"""
L.clear() -> None -- remove all items from L
清楚列表所有元素
"""
pass def copy(self): # real signature unknown; restored from __doc__
"""
L.copy() -> list -- a shallow copy of L
复制一个列表
需要注意的是这个拷贝是‘浅拷贝’:
如果列表只有一层(如:l=[1,2,3]),那么l的copy后列表跟l的内存地址是不同的,但是,
但是,如果l里面嵌套的还有列表(如:l = [1,2,3,[5,6]]),那么,虽然外层列表地址不同
但是嵌套的[5,6]这个列表(也就是l[3])的内存地址跟copy后的内存地址不同 ----------------------------------------------------------------------------
l1 = [1,2,[3,4]]
l2 = l1.copy()
print(l1 == l2) # True
print(l1 is l2) # False
print(l1[2] is l2[2]) # True l1[2].append('8') # 往子列表l[2]里添加元素,l2也会随之改变
print(l2) # [1, 2, [3, 4, '8']]
----------------------------------------------------------------------------
如果要深拷贝,则需要导入deepcopy模块
import copy l1 = [1,2,[3,4]]
l2 = copy.deepcopy(l1)
print(l1 == l2) # True
print(l2 is l1) # False l1[2].append('8') #往子列表l[2]里添加元素,l2不会随之改变
print(l1) # [1, 2, [3, 4, '8']]
print(l2) # [1, 2, [3, 4]]
"""
return [] def count(self, value): # real signature unknown; restored from __doc__
"""
L.count(value) -> integer -- return number of occurrences of value
计算一个元素在一个列表里出现的次数
"""
return 0 def extend(self, iterable): # real signature unknown; restored from __doc__
"""
L.extend(iterable) -> None -- extend list by appending elements from the iterable
往列表里拓展元素,参数必须是一个可迭代对象(包括列表,元组以及字符串等……)
"""
pass def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__
"""
L.index(value, [start, [stop]]) -> integer -- return first index of value.
Raises ValueError if the value is not present.
获取列表中某一个元素的索引值,如果有重复元素,只返回第一个
也可以用可选参数start和stop来指定查找范围
"""
return 0 def insert(self, index, p_object): # real signature unknown; restored from __doc__
"""
L.insert(index, object) -- insert object before index
在指定位置的前一个位置插入指定元素
""" pass def pop(self, index=None): # real signature unknown; restored from __doc__
"""
L.pop([index]) -> item -- remove and return item at index (default last).
Raises IndexError if list is empty or index is out of range.
删除列表的元素,可以按索引来指定删除的元素,不指定的话默认删除最后一个
如果指定索引超出范围,则会报错
"""
pass def remove(self, value): # real signature unknown; restored from __doc__
"""
L.remove(value) -> None -- remove first occurrence of value.
Raises ValueError if the value is not present.
按照元素值来删除列表的元素
如果指定元素不存在则会报错
"""
pass def reverse(self): # real signature unknown; restored from __doc__
"""
L.reverse() -- reverse *IN PLACE*
将一个列表反转
"""
pass def sort(self, key=None, reverse=False): # real signature unknown; restored from __doc__
"""
L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
将列表按照指定的规则排序
可以用key来指定排序规则,不指定的话默认按照asc码来排序
字符串不能跟数字类型一起排序
----------------------------------------------------------------------
l1 = [1,2,5,3,8,6]
l1.sort()
print(l1) # [1, 2, 3, 5, 6, 8] l2 = ['c','b','a'] # ['a', 'b', 'c']
l2.sort()
print(l2) l3 = ['fuyong','age','name']
l3.sort()
print(l3) # ['age', 'fuyong', 'name']
----------------------------------------------------------------------
key是一个可选的参数,接收一个函数名或者一个匿名函数
l4 = [(1,3),(2,1),(3,2)]
l4.sort(key=lambda x:x[0])
print(l4) # [(1, 3), (2, 1), (3, 2)]
l4.sort(key=lambda x:x[1])
print(l4) # [(2, 1), (3, 2), (1, 3)]
----------------------------------------------------------------------
l5 = [{'age':13},{'age':18},{'age':16}]
l5.sort(key=lambda x:x['age'])
print(l5) # [{'age': 13}, {'age': 16}, {'age': 18}]
----------------------------------------------------------------------
可以用reverse参数来指定是正序还是倒叙,不指定的话默认正序
l5.sort(key=lambda x:x['age'],reverse=True
print(l5) # [{'age': 18}, {'age': 16}, {'age': 13}]
"""
pass
示例
l1 = [1,2,[3,4]]
l2 = l1.copy() print(l1 == l2)
print(l1 is l2)
print(l1[2] is l2[2]) l1[2].append('8')
print(l2) import copy l1 = [1,2,[3,4]]
l2 = copy.deepcopy(l1)
print(l1 == l2)
print(l2 is l1) l1[2].append('8')
print(l1)
print(l2) l = [1,2,3,4,5,6]
l.pop()
print(l)
l.pop(3)
print(l) l1 = [1,2,5,3,8,6]
l1.sort()
print(l1) l2 = ['c','b','a']
l2.sort()
print(l2) l3 = ['fuyong','age','name']
l3.sort()
print(l3) l4 = [(1,3),(2,1),(3,2)]
l4.sort(key=lambda x:x[0])
print(l4)
l4.sort(key=lambda x:x[1])
print(l4) l5 = [{'age':13},{'age':18},{'age':16}]
l5.sort(key=lambda x:x['age'])
print(l5)
l5.sort(key=lambda x:x['age'],reverse=True)
print(l5)
list文档的更多相关文章
- C#给PDF文档添加文本和图片页眉
页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...
- dotNET跨平台相关文档整理
一直在从事C#开发的相关技术工作,从C# 1.0一路用到现在的C# 6.0, 通常情况下被局限于Windows平台,Mono项目把我们C#程序带到了Windows之外的平台,在工作之余花了很多时间在M ...
- ABP文档 - Javascript Api - AJAX
本节内容: AJAX操作相关问题 ABP的方式 AJAX 返回信息 处理错误 HTTP 状态码 WrapResult和DontWrapResult特性 Asp.net Mvc 控制器 Asp.net ...
- ABP文档 - EntityFramework 集成
文档目录 本节内容: Nuget 包 DbContext 仓储 默认仓储 自定义仓储 特定的仓储基类 自定义仓储示例 仓储最佳实践 ABP可使用任何ORM框架,它已经内置了EntityFrame(以下 ...
- ABP文档 - SignalR 集成
文档目录 本节内容: 简介 安装 服务端 客户端 连接确立 内置功能 通知 在线客户端 帕斯卡 vs 骆峰式 你的SignalR代码 简介 使用Abp.Web.SignalR nuget包,使基于应用 ...
- ABP文档 - 通知系统
文档目录 本节内容: 简介 发送模式 通知类型 通知数据 通知重要性 关于通知持久化 订阅通知 发布通知 用户通知管理器 实时通知 客户端 通知存储 通知定义 简介 通知用来告知用户系统里特定的事件发 ...
- ABP文档 - Hangfire 集成
文档目录 本节内容: 简介 集成 Hangfire 面板授权 简介 Hangfire是一个综合的后台作业管理器,可以在ABP里集成它替代默认的后台作业管理器,你可以为Hangfire使用相同的后台作业 ...
- ABP文档 - 后台作业和工作者
文档目录 本节内容: 简介 后台作业 关于作业持久化 创建一个后台作业 在队列里添加一个新作业 默认的后台作业管理器 后台作业存储 配置 禁用作业执行 Hangfire 集成 后台工作者 创建一个后台 ...
- ABP文档 - Javascript Api
文档目录 本节内容: AJAX Notification Message UI Block & Busy Event Bus Logging Other Utility Functions A ...
- ABP文档 - 导航
文档目录 本节内容: 创建菜单 注册导航供应器 显示菜单 每个web应用都有一些菜单用来在页面/屏幕之间导航,ABP提供了一个通用的基础框架创建并显示菜单给用户. 创建菜单 一个应用可能由不同模块组成 ...
随机推荐
- Linux安装MediaWiki
1. 编译安装libxml2 # wget http://xmlsoft.org/sources/libxml2-2.6.32.tar.gz # tar zxvf libxml2-2.6.32. ...
- 实例具体解释Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)
这是本系列的第二篇,内容是 prefetch_related() 函数的用途.实现途径.以及用法. 本系列的第一篇在这里 第三篇在这里 3. prefetch_related() 对于多对多字段(Ma ...
- CSS(六):盒子模型
一.什么是盒子模型 盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版. 从上图可以看到标准的盒子模型范围包括margin(外边距).border(边框).padding(内边距).con ...
- js学习笔记26----事件冒泡,事件捕获
事件冒泡 : 当一个元素接收到事件的时候,会把它接收到的所有传播给它的父级.一直到顶层window.这种现象称之为事件冒泡机制.出去的事件触发. 阻止冒泡 : 当前要阻止冒泡的事件函数中,调用 eve ...
- html 处理
近期做了一个后台管理网站,后台页面都是Html页面,里面再通过ajax访问后台服务.要做到比较好的用户体验,即:如果用户没有登录或没有权限马上调到登录页面,而不是等到页面加载后再ajax时判断是否登录 ...
- VMware ESXi vsan.v00卡 停
重装VMware ESXi 6.5,结果在loading vsan.v00文件的时候卡住了,过了几个小时都停留在这个界面.无意间重启使用UEFI 启动,提示某文件校验出错,MD5对不上,重新写入安装镜 ...
- java---springMVC与strutsMVC的区别
spring mvc与struts的区别 标签: strutsspringmvcservletactiontomcat 2011-11-24 17:34 24205人阅读 评论(6) 收藏 举报 分 ...
- Maven仓库的搭建
http://blog.csdn.net/xiao__gui/article/details/52625660 Maven仓库是有特定规则的目录结构. 目录结构由 仓库根目录 , groupId , ...
- 用Powershell调用DLL文件
http://blog.csdn.net/itanders/article/details/5702771
- Leetcode: Merge/Insert Interval
题目 Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[ ...