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常用方法的更多相关文章

  1. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  2. Jquery元素选取、常用方法

    一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...

  3. python浅谈正则的常用方法

    python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...

  4. C# Webbrowser 常用方法及多线程调用

    设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNa ...

  5. list,tuple,dict,set常用方法

    Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...

  6. 记录yii2-imagine几个常用方法

    记录yii2-imagine几个常用方法: //压缩 Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)->save(Yii::g ...

  7. DOM常用方法总结

    DOM(Document Object Model:文档对象模型)为javascript中的一部分,它为访问和修改html文档或xml文档提供了一些编程接口,DOM以对象的形式来描述文档中的内容,以树 ...

  8. JSP内置对象及常用方法

    jsp九大内置对象及四个作用域: 何为作用域 先让我们看看效果: 大概流程是这样的,我们访问index.jsp的时候,分别对pageContext, request, session,applicat ...

  9. java中集合类中Collection接口中的Map接口的常用方法熟悉

    1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...

  10. 解析Exception和C#处理Exception的常用方法总结

    在.NET中,异常是指成员没有完成它的名称宣称可以完成的行动.在异常的机制中,异常和某件事情的发生频率无关. 异常处理四要素包括:一个表示异常详细信息的类类型:一个向调用者引发异常类实例的成员:调用者 ...

随机推荐

  1. Servlet学习记录3

    提交表单信息 Web程序的任务是实现服务器与客户端浏览器之间的信息交互.客户端提交的信息可能来自表单里的文本框,密码框,选择框,单选按钮,复选框以及文件域.这些表单信息被以参数形式提交到了服务器.Se ...

  2. 二、http request:消息结构

    1.request结构分为三部分: 抽象的东西,难以理解,老感觉是虚的, 所谓眼见为实, 实际见到的东西,我们才能理解和记忆,下面我们用fiddler打开一个博客园的地址,在Inspectors ta ...

  3. Debian 安装 virtualbox

    首先增加源: echo "deb http://download.virtualbox.org/virtualbox/debian stretch contrib" > /e ...

  4. hadoop fs -text和hadoop fs -cat的区别(转)

    转自:https://www.jianshu.com/p/4462613d3f57

  5. js判断访问浏览器是安卓还是ios还是微信浏览器还是微博

    var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.indexOf('Android') > - ...

  6. Python学习—数据库篇之pymysql

    一.pymysql简介 对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql是Python中操作MySQL的模块,其使用方法和MySQ ...

  7. IIS 设置查询字符串长度

  8. SQLServer “无法对数据库'XXX' 执行删除,因为它正用于复制”的解决方法

    “无法对数据库'XXX'执行删除,因为它正用于复制” 解决办法: 执行  sp_removedbreplication 'XXX'  这个语句的解释是:从数据库中删除所有复制对象,但不更新分发服务器上 ...

  9. CodeForces-4C Registration system

    // Registration system.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束. // #include <iostream> # ...

  10. 贝叶斯分类器,随机森林,梯度下载森林,神经网络相关参数的意义和data leakage

    构建的每一颗树的数据都是有放回的随机抽取的(也叫bootstrap),n_estimators参数是你想设置多少颗树,还有就是在进行树的结点分裂的时候,是随机选取一个特征子集,然后找到最佳的分裂标准.