一、基础操作
list是Python中的一种基本数据类型, 可以理解为是一种有序的集合。在Python中,我们可以通过下标取得list中的某个元素。
lst = [1,2,3,4,5]
val = lst[0] # 取得第一个元素
print(val) # 输出 1
对于Python中的list,我们可以通过切片操作获取部分元素。切片的语法为”[start:end]”。
lst = [1,2,3,4,5]
sub_lst = lst[1:3] # 取得第二个和第三个元素
print(sub_lst) # 输出 [2,3]
除了这些基本操作以外, 我们还可以在list中取得元素的下标,或者向list中添加元素。
lst = [1,2,3,4,5]
idx = lst.index(3) # 取得值为3的元素的下标
lst.append(6) # 在list末尾添加一个元素
print(idx, lst) # 输出 2,[1,2,3,4,5,6]
二、列表推导式
列表推导式是Python中一种非常便捷的方法,可以通过简单的表达式创建新的list
lst = [i*2 for i in range(5)]
print(lst) # 输出 [0,2,4,6,8]
这里的表达式是“i*2”, range(5)生成了[0,1,2,3,4], 然后通过for循环遍历这个列表,并且对于每一个元素应用表达式,最后将结果放入一个新的list中。
三、对列表进行遍历
在Python中要对一个list进行遍历, 可以使用for循环。Python的for循环支持对任意可迭代对象进行遍历,而list是其中一个常见的可迭代对象。
lst = [1,2,3,4,5]
for i in lst:
print(i)
除了上面这种普通的遍历方法, 我们还可以使用enumerate函数来获取每一个元素的下标。enumerate函数会返回一个元组, 元组中的第一个值是元素的下标,第二个值是元素的值。
lst = [1,2,3,4,5]
for idx, val in enumerate(lst):
print(idx, val)
四、高级用法
除了上面介绍的传统用法以外,Python中还有一些高级的方法可以帮助我们更加方便地使用list。
使用函数对列表进行操作
Python内置了很多对于列表的操作函数。比如,下面这个例子中的map函数可以对一个list中的每一个元素应用一个表达式。
lst = [1,2,3,4,5]
new_lst = list(map(lambda x: x*2, lst))
print(new_lst) # 输出 [2,4,6,8,10]
使用生成器
使用生成器可以帮助我们更加节省内存。Python中的生成器有多种形式,在这里我们讲一下较为常见的yield方式。
def my_range(n):
i = 0
while i< n:
yield i
i += 1
g = my_range(5)
print(list(g)) # 输出 [0,1,2,3,4]
使用列表解析式进行高效的过滤
列表解析式的另一个巨大优势是它可以非常高效地过滤列表中的元素。这里我举一个例子来说明。
lst = [1,2,3,4,5,6,7]
lst = [i for i in lst if i%2 == 0]
print(lst) # 输出 [2,4,6]
上面这个例子中,我们用一个列表解析式将原列表中的奇数过滤掉,最后得到一个新的列表。
原创文章,作者:KOYL,如若转载,请注明出处:https://www.506064.com/n/145563.html