如果想要表达多个“事物”,可以使用列表。
name = ['a','b','c']

1. 列表所有方法都没有返回值,返回的都为None

增:

name.append('c') #在后面增加一个c
name.insert(1,'d') #增加到b前面

删:

name.remove('f') #删除f
del name[1] #删除编号1
name.pop(1) #删除编号1,如果不写那么就删除第一个。pop还可以将删除的值提取出来,重新赋值。
name.clear() #删除列表。

删除时最好不要使用for循环来进行删除,因为指针的原因。会遗漏某个删除项:

lis = [1,2,3,4,5,6]
for i in lis:
lis.remove(i)
print(lis)
#结果[2, 4, 6]

可以使用pop来从后往前删。

lis = [1,2,3,4,5,6]
for i in range(0,len(lis)):
lis.pop()
print(lis)

由于删除元素会导致元素的索引改变,所以容易出现问题。建议把要删除的元素添加到另一个集合中然后再批量删除。

lis = [1,2,3,4,5,6]
del_lis = []
for i in lis:
del_lis.append(i)
for i in del_lis:
lis.remove(i)
print(lis)

改:

name[2]='b' #将b更改为f

查:

print(name[2],name[0]) #取号码进行识别
print(name[1:3]) #取1和2的值,3为结束位。切片功能
print(name[-1]) #取最后一个值
print(name[-2:]) #取最后两个值

以名字来查询:

print(name.index('a')) #以姓名方式来查找用户的编号
print(name.count('a')) #查看列表中有多少个a
print(name2[0:-1:2]) #每隔2个打印一次。

翻转:

name.reverse() #进行翻转,将文件倒过来

排序:

name.sort() #升序:排序方式为,特殊符号-数字-大写-小写-中文
name.sort(reverse=True) #降序

合并:

name.extend(name2) #将name2的合并到name中.name2仍然会有,和name中的名称冲突也会一直执行。

复制:

name2 = name.copy() #浅copy,表示只能复制第一层列表中的文字,如果添加子目录,那么就只能copy更改后的。
import copy #深copy,可以copy子层内的所有文字。
name2= copy.deepcopy(name)

extend()和append()功能类似,但在处理多个列表时,返回的结果完全不同。

>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.append(b)
>>> a
[1, 2, 3, [4, 5, 6]]
>>> a=[1,2,3]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]

如果想要在A列表中,删除B列表存在的内容:可以使用:

案例:文件复制到A列表中,找到A列表想要删除的内容存放到B列表中,然后for循环B列表的内容删除A列表,最后再保存文件。

for i3 in b:
a.remove(i3)

列表推导式与生成器推导式:

v = [ i for i in range(10)]  #正常的列表推导式
print(v) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] v1 = (i for i in range(10)) #生成器推导式
#其中v1是一个推导式,需要再进行循环才行。
for i in v1:
print(i) #小高级: v2 = [lambda :i for i in range(10)] #生成10个lambda表达式。
for i2 in v2:
print(i2())
#因为当系统运行时,v2所在的列表内的for循环已经开始执行,那么最后i是等于9的。
#当再次for循环时,运行lambda将会查找i的值,那么这会i已经等于9,就会输出9个9 v3 = (lambda : i for i in range(10)) #生成1个生成式推导式
for i in v3: #再进行for循环时,首先会运行lambda,再巡行里面的for循环。
print(i()) #最终说明:
'''
列表推导式:代码运行完成后直接生成一个列表将所有的值存放到里面。
生成式推导式: 不会生成所有值,而是再次循环时,将逐一进行for循环。
'''

  

Python——列表的更多相关文章

  1. python 列表排序

    转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...

  2. python列表、元祖、字典

    python列表   ['a','1','vs2']       里面的值可以改 python元祖   ('a','1','css','sdf12')   里面的值不能改 python字典   {'s ...

  3. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  4. Python 列表

    python 列表 列表的特点 1.列表是一种可变的数据类型,这点是跟元组有区别的 2.列表中的值是有序的,并且可存放重复的值,这点跟set有区别的 3.python中的列表类似于其它语言中的数组 4 ...

  5. python 列表生成器

    python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...

  6. [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  7. Python 列表如何获得一个指定元素所在的下标

    在使用Python3.4读取txt数据到列表,由于编码问题,读取到的数据通常会出现'\ufeffX'(x为你想要的数据).这时候如果需要把列表中的数据由字符串转换到数值型的数据的进行数据分析的话就会出 ...

  8. python列表的常用操作方法

    主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...

  9. !!对python列表学习整理列表及数组详细介绍

    1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...

  10. (转载)Python 列表(list)操作

    (转载)http://blog.csdn.net/facevoid/article/details/5338048 创建列表sample_list = ['a',1,('a','b')] Python ...

随机推荐

  1. PyCharm5 破解汉化

    作者博文地址:https://www.cnblogs.com/liu-shuai/ 破解: 将下列序列号复制到软件激活界面即可破解. 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0 ...

  2. pat05-图3. 六度空间 (30)

    05-图3. 六度空间 (30) 时间限制 1500 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard “六度空间”理论又称作“六度分隔(Six Degrees ...

  3. python 字符串转字节数组

    场景: java加解密和python加解密互转的时候,因一些非显示字符无法确认两者是否一致,故需要打出他们的十六进制字节数组进行比较 1.python代码实现 str='123';print str. ...

  4. attr()与setAttribute()的区别

    先看红色标注的: 这里传过来的this是个元素节点,因此currentTr也得用获取节点的方式parentNode去获取,而不能写parent(),这是第一个需要注意的地方. 第二个问题,就是怎么给c ...

  5. (三)JavaScript之[事件]与[字符串]

    5].事件**JavaScript事件:HTML事件 * HTML事件是发生在HTML元素上的事情 * HTML事件可以是[浏览器的行为],也可以是[用户的行为] * * 实例: * HTML页面完成 ...

  6. ATL

    Normal COM.cpp #include "resource.h" // 主符号 #include "ATLCOM_i.h" #include " ...

  7. 也谈ThreadLocal

    欢迎赐教博客地址(http://www.cnblogs.com/shizhongtao/p/5358411.html) 对于ThreadLocal使用,网上一堆一堆的.什么内存泄露,什么线程不安全.这 ...

  8. appium(二)简单的demo

     转自http://blog.csdn.net/Yejianyun1/article/details/55517418     启动appium服务,连接手机,将测试用例demo存放到.py文件中 # ...

  9. django choice字段模板展示

    class UserInfo(AbstractUserInfo): """ 用户表 """ gender_choice = ( (1,&qu ...

  10. MongoDB详解

    一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 1.易用性 1)MongoDB是一款面向文档的数据库,而不是关系型数据库,因此而有着更好的扩展性. 2)通过在文档中嵌入文档和数组, ...