Python语言这么火,不论是对于刚开始学习的编程小白或者有接触过其他语言(c/c++/java等等)的同学来说,写代码的时候难免会受本身惯性思维或者其他语言的影响!解决问题的思路有的时候会比较单一,其实Python有很多灵活的解法,比如python的几个高阶函数或者特性!
推导式
列表推导式,使用一句表达式构造一个新列表,可包含过滤、转换等操作。
语法:[exp for item in collection if codition]
例子:1-1000内所有偶数组成的列表
2种方法,大家自己对比
字典推导式,使用一句表达式构造一个新列表,可包含过滤、转换等操作。
语法:{key_exp:value_exp for item in collection if codition}
集合推导式
语法:{exp for item in collection if codition}
map函数
map(fun, lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表返回
规范字符串
filter函数
筛选序列
filter(func, lst),将func作用于lst的每个元素,然后根据返回值是True或False判断是保留还是丢弃该元素。
zip函数
zip([iterable, ...])
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
几个zip技巧
zip是一个非常重要的函数,非常方便.熟悉掌握zip帮我们大幅的减少函数的代码和复杂度,并且提高效率!
最后
其实Python的技巧非常非常多,大家平时的写代码或者读代码的时候要注意收集,特别是有一些精妙的招数,一时半会无法领悟,可以记下来,慢慢思考,总有一天会对你的功力增长大有裨益.
还是那句话,代码一定要多练习才能掌握!大家加油!