list常用方法
1、切片:
①.顾头不顾尾,从头开始取,但不包括最后一个。
②.从左向右数为正,从零开始,从右开始为负,从-1开始
如:
names=['1','2','3']
ames[-1]与names[2]效果相同
③.冒号左边没有数字时,表示从0开始;右边没有数字时,表示一直取到最后一个元素。
如:
names=['1','2','3']
names[0:2]与names[:2]效果相同
names[-2:] 表示从又数第二个元素一直取到最后一个元素。
④.可以通过列表名[*:$:&] 实现跳跃式切片 *,$分别表示开始结束的下标,&表示步长。
如:print(names[0:-1:2]) 表示从第一位开始到倒数第二位,每两个位输出一位
2、追加/插入/修改:
①列表名.append('***') 该方法默认追加到最后一位
②列表名.insert(下标,'***') 该方法可将想添加的元素插入想要的位置
③列表名[下标]='***' 直接将想要修改的值赋值给该位置
3、删除:
①列表名.remove('***')
②del 列表名/列表名[下标] 直接删除整个列表/删除特定下标位置的元素
③列表名.pop(默认值/下标) 删除最后一位的元素/删除特定下标位置的元素 4、查找:
**.index('***') 该方法将返回所查询的元素的下标
5、计数:
**.count('***') 该方法将返回所查元素在列表中的数目
6、反转:
**.reverse() 该方法将列表中的元素倒置
7、排序:
**.sort() 该方法将对列表进行排序,排序规则按照字符串首个字符在ASCII码中的顺序进行排列
8、扩展:
**.extend() 该方法可以队列表进行扩展,也可以利用该方法将两个列表进行合并
9、清空:
**.clear() 该方法可以把列表清空,返回None
10、复制:
①浅copy:
Ⅰ.**.copy() Ⅱ.列表名2=列表名1[:] Ⅲ.import copy 列表名2=copy.copy(列表名1) Ⅳ.列表名2=list(列表名1)
仅仅复制列表中第一层,若原列表中含有子列表,则复制的是子列表的地址
复制完成后,若改动第一层的元素,复制所得的列表不会变化;
但子列表若改变的话,复制所得列表中的子列表也会随之变化.反之,改动复制所得列表中的子列表,原列表中的子列表也会发生变化
注意:列表不能使用将一个列表赋值给另一个列表进行复制,这样会导致复制列表指向原列表的地址;
果原列表产生变化,则复制的列表也会发生变化。
浅copy可以用来创建联合账号。可分别对复制所得列表第一层更改,且改动其中一个列表中的子列表中的数据,另外一个列表也会发生变化
②深copy:
import copy 列表名2=copy.deepcopy(列表名1)
该方法可以完全复制列表,且不会因为原列表的变化而发生变化(子列表也不会发生变化)。
#!-*- coding:utf-8 -*-
# Author:Steve
import copy names=['Steve','Jack','Jim','Stone','Person']
print(names,end='//')
print(names[1:4],end='//')#切片,顾头不顾尾,从头开始取,但不包括最后一个。
#print(names[1:])
print(names[3],end='//')#从左向右数为正,从零开始,从右开始为负,从-1开始
#print(names[-1])
print(names[-2:],end='//')
#print(names[2:])
print(names[0:3])#冒号左边没有数字时,表示从0开始;右边没有数字时,表示一直取到最后一个元素。
#print(names[:3])
print(names[0:-2:2])#最后的为步长,实现跳过输出。0,-1可以省略 #追加:**.append/插入:**.insert()/修改:**[]=''
names.append('')
names.insert(1,'Herry')
names[6]='Jordan'
print(names) #查询.index()/计数.count()
print(names.index('Steve'),end=" ")
print(names[names.index('Steve')],end=' ')
names.append('Steve')
print('列表中含有{}个Steve'.format(names.count('Steve')))
names.pop() #删除**.remove()/**.pop()/del **
names.remove('Steve')
del names[1]
names.pop()
names.pop(1)
print(names) #反转列表:**.reverse()/排序:**.sort()/扩展**.extend()
names.reverse()
print(names) names2=['','a','A','#']
names2.sort()
print(names2)
names.extend(names2)
print(names,names2) #清空
print(names.clear()) #复制:浅:**.copy()/import copy copy.copy(***) /列表名2=列表名1[:]/列表名2=list(列表名1)
#深: copy.deepcopy()
names=['Jim','Stone','Person',['q','w','e']]
names3=names.copy()
names4=copy.deepcopy(names)
print(names,'\n',names3,'\n',names4)
names[2]='A'
names[3][0]='Q'#names3[3][1]='W' 相同效果
print('\n',names,'\n',names3,'\n',names4)
list常用方法
list常用方法的更多相关文章
- 前端开发:Javascript中的数组,常用方法解析
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...
- Jquery元素选取、常用方法
一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...
- python浅谈正则的常用方法
python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...
- C# Webbrowser 常用方法及多线程调用
设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNa ...
- list,tuple,dict,set常用方法
Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...
- 记录yii2-imagine几个常用方法
记录yii2-imagine几个常用方法: //压缩 Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)->save(Yii::g ...
- DOM常用方法总结
DOM(Document Object Model:文档对象模型)为javascript中的一部分,它为访问和修改html文档或xml文档提供了一些编程接口,DOM以对象的形式来描述文档中的内容,以树 ...
- JSP内置对象及常用方法
jsp九大内置对象及四个作用域: 何为作用域 先让我们看看效果: 大概流程是这样的,我们访问index.jsp的时候,分别对pageContext, request, session,applicat ...
- java中集合类中Collection接口中的Map接口的常用方法熟悉
1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...
- 解析Exception和C#处理Exception的常用方法总结
在.NET中,异常是指成员没有完成它的名称宣称可以完成的行动.在异常的机制中,异常和某件事情的发生频率无关. 异常处理四要素包括:一个表示异常详细信息的类类型:一个向调用者引发异常类实例的成员:调用者 ...
随机推荐
- CentOS7.0 采用压缩包 安装Nginx 1.7.4和添加Tomcat为系统服务 nginx结合tomcat
CentOS7.0 采用压缩包 安装Nginx 1.7.4 一.安装准备首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc ...
- springmvc+mybatis环境搭建
1.spring+mybatis 环境搭建: A.配置jdbc和dbcp数据源:注意版本com.mysql.cj.jdbc.Driver B.配置sessionfactory,绑定dbcp及配置map ...
- IDEA中使用中jetty启动java项目(非springboot)
1.安装maven helper插件,略 2.项目pom.xml文件中添加jetty插件配置 <build> <plugins> <plugin> <grou ...
- logback kafkaAppender输出日志到kafka
官网地址https://github.com/danielwegener/logback-kafka-appender 本文以spring boot项目为基础,更多的信息,请参考官网 https:// ...
- 自己实现ArrayList
思路: 一 载体 ArrayList是一个集合容器,必然要有一个保存数据的载体. public class MyArraylist { private final static int INIT_CO ...
- Docker容器的基本了解和命令
一.docker和虚拟机的对比 特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般为MB 一般为GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个 更高效的利用系统资源 更快速 ...
- 定点CORDIC算法求所有三角函数及向量模的原理分析、硬件实现(FPGA)
一.CORDIC算法 CORDIC(Coordinate Rotation DIgital Computer)是一种通过迭代对多种数学函数求值的方法,它可以对三角函数.双曲函数和平面旋转问题进行求解. ...
- HBase 数据迁移方案介绍
一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分为以下几类: 图1.HBase数据迁移方案 从上面图中可看出,目前的方案主要有四类,Hadoop层有一类,HBase层有三类.下 ...
- vue小结
一:MVVM模型的理解 Model:数据模型,数据和业务逻辑都在这里定义:View代表视图,负责数据的展示:ViewModel:负责监听model中数据的改变并且控制视图的更新,处理用户交互操作:Mo ...
- Spring Boot HikariCP 一 ——集成多数据源
其实这里介绍的东西主要是参考的另外一篇文章,数据库读写分离的. 参考文章就把链接贴出来,里面有那位的代码,简单明了https://gitee.com/comven/dynamic-datasource ...