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提供了一个通用的基础框架创建并显示菜单给用户. 创建菜单 一个应用可能由不同模块组成 ...
随机推荐
- PHP flock() 函数 php中的文件锁定机制
举一个例子: 假设一个文件读取的过程,有数万人在同时操作,那么极可能a用户刚刚写入,b用户也写入了,两者以至于混乱,或者在读取的时候,读取到别人写的数据.就好比上公共厕所,去厕所的时候要把门给打开上, ...
- RabbitMQ之主题(Topic)【译】
在上一节中,我们改进了我们的日志系统,替换使用fanout exchange仅仅能广播消息,使得选择性的接收日志成为可能. 虽然使用direct exchange改进了我们的系统,但是它仍然由他的局限 ...
- golang Time to String
golang Time to String allenhaozi · 2016-09-02 09:00:00 · 2447 次点击 · 预计阅读时间 1 分钟 · 19分钟之前 开始浏览 这是一个创建 ...
- mysql -- 存储过程中 declare 和 set 定义变量的区别
mysql存储过程中,定义变量有两种方式:1.使用set或select直接赋值,变量名以 @ 开头.例如:set @var=1;可以在一个会话的任何地方声明,作用域是整个会话,称为会话变量. 2.以 ...
- QTreeWidget 获取被双击的子项的层次路径
from PyQt5.QtWidgets import (QApplication, QWidget, QHBoxLayout, QTreeWidget, QTreeWidgetItem, QGrou ...
- IPL和SPL的区别
IPL是英文Initial Program Loader的简称,意为初始程序的装入程序,其主要功能为负责主板.电源.硬件初始化程序.并把SPL装入RAM空间中,当IPL损坏则只能更换字库解决否则只能换 ...
- 《Linux实验要求》
实验 1:登录和使用基本的 Linux 命令 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统. 有另外一个无特权用户 student,密码 ...
- Hibernate_day04--QBC查询
QBC查询 1 使用hql查询需要写hql语句实现,但是使用qbc时候,不需要写语句了,使用方法实现 2 使用qbc时候,操作实体类和属性 3 使用qbc,使用Criteria对象实现 查询所有 1 ...
- 一道money计算题引发的思考
网友提出一个问题如下 是小学和中学时候学到了增长折线问题,有点像数学问题,不过这个要求用编程来实现,恐怕还是有些逻辑要处理的,话不多说看代码吧 我给出的代码如下 代码清单: <?php func ...
- 自学Ajax
使用Ajax快捷函数 说明 出于简化AJAX开发工作的流程,jQuery提供了若干了快捷函数. 实例 1.显示 test.php 返回值(HTML 或 XML,取决于返回值). $.get(" ...