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']的列表,可以吗?怎么办?

可以生成这样的list_b的,代码如下:
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】

  1. 向列表里面添加元素
  2. 删减列表中的一些元素
  3. 获取列表里面的特点元素
  4. 列表分片
  5. 常用的列表操作符
  6. 其他常见的列表操作函数
  7. 列表的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 列表操作的主要内容,如果未能解决你的问题,请参考以下文章

python列表操作大全

Python学习——列表操作全透析

Python列表操作集合

python列表的操作

python之列表操作

python3列表操作大全 列表操作方法详解