Python实用技巧1/?

复习SICP,准备考试,总结几个Python的小技巧吧。

Slicing

形式:[下限:上限:步长] (下限 ≤ index<上限,index∈[-len, len),其中index = -i 表示倒数第 i 个元素),返回一个新的list

三个参数均可省略,默认为[0:len:1]

>>> a = [0, 1, 2, 3, 4, 5]
>>> a[:]
[0, 1, 2, 3, 4, 5]
>>> a[::2]
[0, 2, 4]
>>> a[1:4:1]
[1, 2, 3]
>>> a[1:4:2]
[1, 3]

Map

形式:map(func, list1, list2...) func为带有k个参数的函数,共有k个list并对所有len取min,多余元素忽略,在Python3中返回一个iterator

>>> a = map(lambda x: x, [1, 2])
>>> next(a)
1
>>> a = map(lambda x, y: x + y, [1, 2], [3, 4])
>>> next(a)
3

Reduce

形式:reduce(func, list, init),func为带有两个参数的函数,init为初始值且可以省略

>>> def add(x, y):
        return x + y
>>> reduce(add, [1, 2, 3])
6
>>> reduce(add, [1, 2, 3], 3)
9

Filter

形式:filter(func, list),func为一个返回值为True or False的函数,可以过滤掉不满足func(list[i]) == True的元素,Python3中返回一个iterator

>>> a = filter(lambda x: x % 2, [2, 3, 4])
>>> next(a)
3

Range

用法:range(l, r, 步长),~ [l ,r),返回类型为range

>>> list(range(1, 10, 2))
[1, 3, 5, 7, 9]

List Comprehensions

用法:[func(k) for k in s if condition],s为k的所有取值集合(list,range,tuple等),if语句可以省略

>>> numbers = range(5)
>>> my_list = [number * 2 for number in numbers]
>>> my_list
[0, 2, 4, 6, 8]
>>> my list = [number * 2 for number in numbers if number % 2]
>>> my_list
[2, 6]

Zip

用法:zip(list1, list2, list3...),对所有list的len取min,忽略多余的元素,Python3中返回一个iterator

>>> a = [1, 2, 3]
>>> b = [2, 3, 4]
>>> c = [3, 4, 5]
>>> next(zip(a, b))
(1, 2)
>>> next(zip(a, b, c))
(1, 2, 3)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python有很多实用的技巧,以下是其中几个: 1. 三元运算符:三元运算符是一种简洁的条件语句,可以在一行代码中实现类似于if-else语句的功能。它的语法是 condition_if_true if condition else condition_if_false。这可以大大减少代码的冗余,并增加可读性。 2. 列表推导式:列表推导式是Python中一种快速创建列表的方法。它使用一种简洁的语法,在一个表达式中生成一个新的列表。例如,你可以使用列表推导式快速生成一个包含一系列数字的列表,而不需要使用循环语句。 3. 上下文管理器:上下文管理器是一种在代码块执行之前和之后执行特定代码的方法。它可以用于处理资源的分配和释放,如打开和关闭文件或数据库连接。使用with语句,可以确保资源在使用完毕后被正确释放,避免资源泄漏。 4. Lambda函数:Lambda函数是一种匿名函数,它可以在一行代码中定义简单的函数。它非常适合于需要临时定义函数的情况,可以作为参数传递给其他函数。Lambda函数可以提高代码的可读性并减少代码的数量。 5. 错误处理与异常处理:Python提供了异常处理机制,可以捕捉和处理程序中可能出现的错误。通过使用try-except语句,可以捕获异常并执行特定的代码来处理异常情况,以避免程序崩溃。这对于保证程序的稳定性和可靠性非常重要。 这些实用技巧可以帮助开发人员更高效地编写Python代码,提高代码的可读性和可维护性。通过学习和应用这些技巧,你可以节省时间和精力,并使你的代码更加优雅和高效。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [16个好用到爆的Python实用技巧!](https://blog.csdn.net/ekcchina/article/details/131041778)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [30个Python常用技巧,10分钟get让你的python技术更上一层楼!](https://blog.csdn.net/Python_2332/article/details/130779200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值