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中,异常是指成员没有完成它的名称宣称可以完成的行动.在异常的机制中,异常和某件事情的发生频率无关. 异常处理四要素包括:一个表示异常详细信息的类类型:一个向调用者引发异常类实例的成员:调用者 ...
随机推荐
- JEECG 上传插件升级-标签
前言: 现有的uploadify上传是基于swf的,随着H5的普及,flash即将退出历史舞台,JEECG团队本着与时俱进的原则,将全面升级JEECG系统中的上传功能,采用新式上传插件plupload ...
- C# 构造函数中base和this的使用。
使用base时,首先给父类中的构造函数赋值. 使用this时,先调用父类无参构造函数,再调用自身其他构造函数并对其赋值,最后调用自身当前构造函数.
- 阿里云安装mysql后查看不到初始密码的解决办法
在阿里云安装mysql后用grep 'A temporary password' /var/log/mysqld.log命令查看MySQL初始密码,毛线都没有看到,然后直接到/var/log/mysq ...
- Java中使用MongoDB
一.为MongoDB设置用户名和密码 MongoDB中验证用户和密码的条件: 1. 服务器启动的时候打开授权认证,即修改MongoDB的配置文件mongodb.conf,增auth = true # ...
- linux 之用户管理
用户的家目录 普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700 超级用户:/root/,所有者和所属组都是root用户,权限是550 用户邮箱目录 /var/spool/mail ...
- destructuring
解构(结构化赋值): 解构过程中,具备赋值和变量声明两个功能 目的在于把等号左右长的相似的两个东西内部的值取出来. 对象数组都可以参与解构: let obj = {name: ‘duyi’,age: ...
- step_by_step_记录一个javascript字符串处理问题
记录一个javascript字符串处理的问题 这一天下班,技术QQ群里的大神提出了一个问题,带着问题去思考. ? '---9890.999008-555555-55555555----' 对于这样的字 ...
- 探究编译后,try-with-resources括号中的object是否关闭,以及两种写法编译后的对比
源码(@TargetApi(Build.VERSION_CODES.KITKAT)) public List<T> test1() { String sql = "selxe x ...
- linux下mycat自启动方法
每次开机都要启动mycat,网上看了好多都是用shell脚本来实现mycat开机自启动,后来看到一种方法,直接修改系统文件来实现,已经实践过,方法有效. 1.修改脚本文件rc.local:vim /e ...
- L2-026 小字辈(dfs)
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...