自学Python2.2-基本数据类型-列表list(object)
Python List方法总结
一、 列表简介:
列表是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等
列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加、修改、删除等操作
可以通过list(seq)函数把一个序列类型转换成一个列表
运算符: 索引运算[i] ,切片运算[i:j], 扩展切片运算[i:j:stride]
支持运算:索引,切片,min(),max(),len()等
1. 列表赋值:
l1=[] 空列表 #但是内存有位置存放,使用id(l1)查看,输出45623200
l2=[1,2,3,4,5,6,]
l3=[1,'b']
l4=[[1,2],['a','b']] 嵌套列表
2.列表操作
l2=[1,2,3,4,5,6,]
l2[3]=78
print(l2)
输出[1, 2, 3, 78, 5, 6]
l2=[1,2,3,4,5,6,]
l2[4]='xyz'
print(l2)
输出[1, 2, 3, 4, 'xyz', 6]
l2=[1,2,3,4,5,6,]
result=l2[1:3] #表示分片偏移,第一个数值表示提取的第一个元素编号,包含在分片内;第二个数值表示分片后剩余的的第一个元素编号,不包含在分片内
print(result)
输出[2, 3]
l2=[1,2,3,4,5,6,]
l2[1:3]=[] #表示删除, 也可以使用del([l2[1:3]])
print(l2)
输出[1, 4, 5, 6]
二、列表的方法
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 """
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.
"""
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* """
pass def __add__(self, *args, **kwargs): # real signature unknown
""" Return self+value. """
pass def __contains__(self, *args, **kwargs): # real signature unknown
""" Return key in self. """
pass def __delitem__(self, *args, **kwargs): # real signature unknown
""" Delete self[key]. """
pass def __eq__(self, *args, **kwargs): # real signature unknown
""" Return self==value. """
pass def __getattribute__(self, *args, **kwargs): # real signature unknown
""" Return getattr(self, name). """
pass def __getitem__(self, y): # real signature unknown; restored from __doc__
""" x.__getitem__(y) <==> x[y] """
pass def __ge__(self, *args, **kwargs): # real signature unknown
""" Return self>=value. """
pass def __gt__(self, *args, **kwargs): # real signature unknown
""" Return self>value. """
pass def __iadd__(self, *args, **kwargs): # real signature unknown
""" Implement self+=value. """
pass def __imul__(self, *args, **kwargs): # real signature unknown
""" Implement self*=value. """
pass def __init__(self, seq=()): # known special case of list.__init__
"""
list() -> new empty list
list(iterable) -> new list initialized from iterable's items
# (copied from class doc)
"""
pass def __iter__(self, *args, **kwargs): # real signature unknown
""" Implement iter(self). """
pass def __len__(self, *args, **kwargs): # real signature unknown
""" Return len(self). """
pass def __le__(self, *args, **kwargs): # real signature unknown
""" Return self<=value. """
pass def __lt__(self, *args, **kwargs): # real signature unknown
""" Return self<value. """
pass def __mul__(self, *args, **kwargs): # real signature unknown
""" Return self*value.n """
pass @staticmethod # known case of __new__
def __new__(*args, **kwargs): # real signature unknown
""" Create and return a new object. See help(type) for accurate signature. """
pass def __ne__(self, *args, **kwargs): # real signature unknown
""" Return self!=value. """
pass def __repr__(self, *args, **kwargs): # real signature unknown
""" Return repr(self). """
pass def __reversed__(self): # real signature unknown; restored from __doc__
""" L.__reversed__() -- return a reverse iterator over the list """
pass def __rmul__(self, *args, **kwargs): # real signature unknown
""" Return self*value. """
pass def __setitem__(self, *args, **kwargs): # real signature unknown
""" Set self[key] to value. """
pass def __sizeof__(self): # real signature unknown; restored from __doc__
""" L.__sizeof__() -- size of L in memory, in bytes """
pass __hash__ = None
list源码
1.append(self, p_object),在列表尾部追加单个对象x,使用多个参数会引起异常
list=[1,2,3,4,5,]
list.append(88)
print(list)
输出[1, 2, 3, 4, 5, 88]
l1=[1,2,3,4,5,]
l2=['carlos',77,]
l1.append(l2)
print(l1)
输出[1, 2, 3, 4, 5, ['carlos', 77]]
2. clear(self)
l1=[1,2,3,4,5,]
l1.clear()
print(l1)
输出[]
3. copy(self)
l1=[1,2,3,4,5,]
l2=l1.copy()
print(l1)
print(l2)
输出
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
4. count(self, value),返回对象value在列表中出现的次数
l1=['to',2,'be','to',5,]
result=l1.count('to')
print(result)
输出2
l1=[[1,2],'alex','be','to',[1,2],[2],[1,2],]
result=l1.count([1,2])
print(result)
输出3
5. extend(self, iterable),将列表中的表项添加到列表中,返回None
l1=[1,2,3,4,5,6,]
print(id(l1))
l2=['carlos',99,[3,7],]
l3=l1.extend(l2,)
print(l1) #extend修改被扩展序列
print(id(l1))
输出
33039344
[1, 2, 3, 4, 5, 6, 'carlos', 99, [3, 7]]
33039344
l1=[1,2,3,4,5,6,]
print(id(l1))
l2=['carlos',99,[3,7],]
l3=l1+l2
print(l3) # 原始连接的操作是返回一个全新的列表
print(id(l3))
输出
38806512
[1, 2, 3, 4, 5, 6, 'carlos', 99, [3, 7]]
38807592
6. index(self, value, start=None, stop=None),返回列表中匹配对象value的第一个列表项的索引,无匹配元素时产生异常
l1=[1,2,3,4,5,6,'carlos',99,[3,7],5,]
l2=l1.index(5)
print(l2) # 返回列表中匹配对象value的第一个列表项的索引
输出4
l1=[1,2,3,4,5,6,'carlos',99,[3,7],5,]
l2=l1.index(5,5,10)
print(l2) # 返回列表中匹配对象value的索引5,10 之前匹配的项
输出9
7.insert(self, index, p_object),在索引为i的元素前插入对象x,如list.insert(0,x)在第一项前插入对象,返回None
l1=[1,2,3,4,5,6,'carlos',99,[3,7],5,]
l1.insert(3,'alex')
print(l1)
输出[1, 2, 3, 'alex', 4, 5, 6, 'carlos', 99, [3, 7], 5]
8.pop(self, index=None),删除列表中索引为x的表项,并返回该表项的值,若未指定索引,pop返回列表最后一项
l1=[1,2,3,4,5,6,'carlos',99,[3,7],5,]
l1.pop() # 默认最后一个元素
print(l1)
输出[1,2,3,4,5,6,'carlos',99,[3,7]]
l1=[1,2,3,4,5,6,'carlos',99,[3,7],5,]
l1.pop(5) # 移除索引5的元素
print(l1)
输出[1,2,3,4,5,'carlos',99,[3,7],5]
9.remove(self, value),删除列表中匹配对象x的第一个元素,匹配元素时产生异常,返回None
l1=[1,2,3,4,5,6,'carlos',99,[3,7],5,88,5,102,]
l1.remove(5) # 移除匹配项5的一个元素
print(l1)
输出[1,2,3,4,6,'carlos',99,[3,7],5,88,5,102,]
10. reverse(self),颠倒列表元素的顺序
l1=[1,2,3,4,5,6,'carlos',99,[3,7],5,88,5,102,]
l1.reverse()
print(l1)
输出[102, 5, 88, 5, [3, 7], 99, 'carlos', 6, 5, 4, 3, 2, 1]
11 .sort(self, key=None, reverse=False),对列表排序,返回none,bisect模块可用于排序列表项的添加和删除
l1=[1,25,63,4,5,6,99,5,88,15,102,]
l1.sort()
print(l1)
输出[1, 4, 5, 5, 6, 15, 25, 63, 88, 99, 102]
当需要一个排好序的列表副本,同时又要保留原有列表不变的正确做法如下:
l1=[1,25,63,4,5,6,99,5,88,15,102,]
l2=l1[:]
l2.sort()
print(l1)
print(l2)
输出
[1, 25, 63, 4, 5, 6, 99, 5, 88, 15, 102]
[1, 4, 5, 5, 6, 15, 25, 63, 88, 99, 102]
自学Python2.2-基本数据类型-列表list(object)的更多相关文章
- 自学Python2.1-基本数据类型-字符串str(object) 上
自学Python之路 自学Python2.1-基本数据类型-字符串str(object) 上 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串 ...
- 自学Python2.1-基本数据类型-字符串str(object)
Python str方法总结 class str(object): """ str(object='') -> str str(bytes_or_buffer[, ...
- 自学Python2.3-基本数据类型-元组tuple(object) 方法
Python tuple方法总结 一.元组的简介 1.元组与列表一样,也是一种序列,但是唯一不同的元组是不能修改的 2.元组的元素不可修改,但是元组元素的元素是可以修改的 3.元组通过()括起来表示 ...
- 自学Python2.1-基本数据类型-字符串方法 下
自学Python之路 自学Python2.1-基本数据类型-字符串方法 下 class str(object): """ str(object='') -> str ...
- 自学Python2.5-基本数据类型-set集合
Python set集合 一. set集合概述 ①set集合,是一个无序且不重复的元素集合.②集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键.③集合支持用in和not in操作符检查成员 ...
- 自学Python2.4-基本数据类型-字典dict(objct)
Python dict方法总结 一.字典介绍 1.字典概述 ①字典是python中唯一内建的映射类型.又称关联数组或散列②映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关 ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- 自学Python2.9-循环(while、for)
自学Python之路 自学Python2.9-循环(while.for) 1. while循环 Python中while语句的一般形式: while 判断条件: 语句 作用:提高开发效率,提高代码重用 ...
- 孤荷凌寒自学python第七天 列表的复制与序列的基本运算
孤荷凌寒自学python第七天 列表的复制与序列的基本运算 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (同步语音:https://www.ximalaya.com/keji/191030 ...
随机推荐
- SQL命令语句小技巧
1.[ ]的使用 当我们所要查的表是系统关键字或者表名中含有空格时,需要用[]括起来,例如新建了两个表,分别为user,user info,那么select * from user和select * ...
- MySQL解压版配置步骤详细教程
解压mysql到D盘根目录 在解压路径下复制my-default.ini,修改名称为my.ini 在my.ini内容如下 [client]default-character-set=utf8 [mys ...
- svg-写一个简单的进度条
html <div class="container"> <div class="line-wrap"> <svg version ...
- HTML5学习指导路线
HTML5是现在热门的技术,经过8年的艰苦努力,该标准规范终于制定完成,在这里为想要学习HTML5初级程序员详细划分一下学习内容和步骤,让大家清楚的知道HTML5需要学什么?能够快速掌握HTML5开发 ...
- easyUI整合富文本编辑器KindEditor详细教程(附源码)
原因 在今年4月份的时候写过一篇关于easyui整合UEditor的文章Spring+SpringMVC+MyBatis+easyUI整合优化篇(六)easyUI与富文本编辑器UEditor整合,从那 ...
- 2017计算机学科夏令营上机考试-A判决素数个数
A:判决素数个数 总时间限制: 1000ms 内存限制: 65536kB 描述 输入两个整数X和Y,输出两者之间的素数个数(包括X和Y). 输入 两个整数X和Y(1 <= X,Y <= ...
- 2.1synchronized同步方法
由前言: 在第一章已经出现了非线程安全的情况."非线程安全"其实会发生在多个线程同时对同一个对象中的实例变量进行访问时发生.产生的结果就是脏读(读到被修改过的数据). " ...
- 安装 Qt 及所需 gcc 等
嫌麻烦,下载离线安装包一次性装好 Qt 及 Qt Creator (Community) Qt 安装包下载地址 http://download.qt.io/official_releases/qt/ ...
- hashlib,configparser,logging,模块
一,hashlib模块 算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一 ...
- python使用rsa库做公钥解密(网上别处找不到)
使用RSA公钥解密,用openssl命令就是openssl rsautl -verify -in cipher_text -inkey public.pem -pubin -out clear_tex ...