python列表实用技巧

1 列表元素的过滤

filter()的使用

filter()函数接受2个参数:1个函数对象以及1个可迭代的对象,接下来我们定义1个函数然后对1个列表进行过滤。

#coding=UTF-8
lists=[1,2,3,4,5,9]
def filter_num(number):
    return number>3
filtered=filter(filter_num,lists)
filter_list=list(filtered)
print(filter_list)

[4, 5, 9]
我们定义了列表 lists
接着我们定义了一个接受数值型参数number的函数filter_num,当传入的参数值大于3时会返回True,反之则会返回False
我们定义了filter对象filtered,其中filter()接受的第一个参数是函数对象,第二个参数是列表对象
最终我们将filter对象转化为列表,最终得到经filter_num过滤后 lists内留下的元素。

2 修改列表

Python中内置的map()函数(映射)使得我们可以将某个函数应用到可迭代对象内每一个元素之上。通过map我们可以省去循环操作,可以自动将一个容器当中的元素套用一个函数。

#coding=UTF-8
lists=[1,2,3,4,5,9]
def square(number):
    return number**2
squares=map(square,lists)
square_list=list(squares)
print(square_list)

[1, 4, 9, 16, 25, 81]

首先我们定义了列表 lists,以及接受数值型参数并返回其平方值的函数square()
接着我们定义了map对象squares,类似filter(),map()接受的第一个参数是函数对象,第二个参数是列表对象
最终我们将map对象squares列表化,就得到了想要的结果

3 利用zip()来组合列表

有些情况下我们需要将两个或以上数量的列表组合在一起,这类需求使用zip()来完成非常方便。
zip()函数接收多个列表作为参数传入,进而得到每个位置上一一对应的元素组合,就像下面的例子一样:

#coding=UTF-8
numbers=[1,2,3]
let=['a','b','c']
combined=zip(numbers,let)
combine_list=list(combined)
print(combine_list)
for elm in zip(numbers,let):
    print(elm[0],'\t',elm[1])

[(1, ‘a’), (2, ‘b’), (3, ‘c’)]
1 a
2 b
3 c

4 颠倒列表

Python中的列表是有序的数据结构,正因如此,列表中元素的顺序很重要,有些时候我们需要翻转列表中所有元素的顺序,可以通过Python中的切片操作,用::-1来快捷地实现:

#coding=UTF-8
lists=[1,5,28,35,4]
res=lists[:: -1]
print('颠倒后:',res)

颠倒后: [4, 35, 28, 5, 1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值