python 列表操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 列表操作相关的知识,希望对你有一定的参考价值。
定义一个function
输入一个类似a_list=[ ['a','b','c'], ['d','e','f'], ['g','h','i'], ['j','k','l'] ]的列表。
然后想要生成一个b_list=[ 'a','b','c','d','e','f','g','h','i','j','k','l']的列表,可以吗?怎么办?
b_list = reduce(lambda i,j: i+j ,a_list)
执行结果:
>>> a_list=[ ['a','b','c'], ['d','e','f'], ['g','h','i'], ['j','k','l'] ]
>>> b_list = reduce(lambda i,j: i+j ,a_list)
>>> print b_list
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l']
有什么问题再追问吧 参考技术A def createlist(a_list):
b_list=[]
try:
try:
a_list+' '
except TypeError:
pass
else:
raise TypeError
for sublist in a_list:
for element in createlist(sublist):
b_list.append(element)
except TypeError:
b_list.append(a_list)
return b_list
可能是比较经典的方法了 参考技术B 方法很多,楼上这个就不错。。。
或者:
a_list=[ ['a','b','c'], ['d','e','f'], ['g','h','i'], ['j','k','l'] ]
b_list=[]
for i in a_list:
b_list+=i 参考技术C a_list=[ ['a','b','c'], ['d','e','f'], ['g','h','i'], ['j','k','l'] ]
b_list = []
for i in a_list:
for x in i:
b_list.append(x)
或者用列表解析
b_list += [x for i in a_list for x in i]本回答被提问者采纳
python列表操作大全
python的列表是比较强大的,它包含了很多不同类型的数据:整型数字,浮点数以及对象
List=【1,2,3,‘hello,world’,3.14343,【1,2,3】
- 向列表里面添加元素
- 删减列表中的一些元素
- 获取列表里面的特点元素
- 列表分片
- 常用的列表操作符
- 其他常见的列表操作函数
- 列表的copy
具体介绍每一部分:
一、向列表添加元素的三种方法
(1)append()
appen的()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,且添加到最后;
m.append(元素A)
(2)extend()
extend()对于列表的操作主要是特性列表的扩展和增长,可以一次添加多个元素,不过也只能添加到列表的最后
m.append([元素A,元素B....])
(3)insert()
insert()对于列表的操作在列表的特定位置想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,索引号从0开始
m.insert(A ,元素B):表示在列表m里面的第A+1处添加元素B
二、删减列表中的一些元素:
与之前python列表的添加元素相对,删减列表里面的一些元素也有三种方法:
(1)m.remove()
m.remove的作用是移除掉列表m里面的特定元素;
m.remove(元素A)
(2)del m[n]
它的作用是删掉列表里面的索引号位置为n的元素,这里需要注意的是del操作语句
del m【n】
(3)m.pop()
它的作用将列表m的最后一个元素返回,并且在此基础上进行删掉
Temp=m.pop() 这里temp就会直接等于列表里的最后一个元素
这里在此输出m的时候已经删掉最后一个元素m的列表
三、对于列表元素的特定获取一般直接进行选取就可以了,选取的元素用起索引号进行选取
获取特定列表里面的特定元素
Temp=m【n】 获取m列表滴n+1处的元素
四、列表分片
对于列表分片的含义需要明白,列表分片就是指讲列表列表里面的一些列元素(不仅仅是某一个元素)进行获取活得到
Temp=m【A:B】表示将m列表从索引位置从A开始的元素到B-1处元素的列表获取赋给temp
五、常用的列表操作符
(1)+:它是实现的多个列表之间的拼接
(2)*:主要实现的是列表的复制和添加
(3)比较<>:主要是进行数据列表的元素比较
(4)and:逻辑运算符,可以进行列表之间的逻辑判断
六、其他常见的操作函数:
(1)m.count(A):输出元素A 在列表m里面出现的次数
(2)m.index(A):输出元素A在列表m里面的索引号位置
m.reverse(A,a,b):对于列表m里面包含多个元素A时,输出在列表m索引号a-b之间特定索引号
(3)m.reverse():讲列表m进行前后的翻转
(4)m.sort():将列表m里面数据进行从小到大的排列
(5)m.sort(reverse=True):将列表m里面的数据进行从大到小排列
七、python列表的拷贝
对于python里面如果想要进行列表的复制,具体操作语句如下:
1)深拷贝
M=【a,b,c】
N=M【:】
2)浅拷贝
N=M
有人说可以直接将M赋值给N也是一样的,虽然表面看起来两者的实现效果是一样的,但是如果你要继续对N进行操作的时候会出现问题,因为对于正确的第一种拷贝复制,它的作用是讲列表m复制下来给N,如果后面对M进行操作,它对于N是完全没有影响的,而如果我们采用赋值的方式,那么后面对M操作以后就会影响到N,N的值也会随之改变
以上是关于python 列表操作的主要内容,如果未能解决你的问题,请参考以下文章