如何一晚上学会Python,python使用技巧
很多在Python视频教程留学的朋友,在实际项目中功能的实现会遇到很多问题,有些并不是很难的问题,或者已经有很好的方法可以解决。当然,什么叫熟能生巧,当我们精通代码的时候,自然可以总结出一些有用的技巧,但是对于那些刚刚熟悉Python的同学来说,可能就没那么容易了。
推荐(免费):Python视频教程
这次给你推荐一个很好的资源《python 30秒》来学习这些技巧。所有的技巧和方法都可以在30秒内获得,可以通过业务时间来积累。让我们快速浏览一下。
https://github.com/30-seconds.
内容目录
以下是30秒Python学习的完整目录,分为列表、数学、对象、字符串、实用工具几个板块。以下是排序后的思维导图。我挑选了10个实用有趣的方法和大家分享,剩下的大家有兴趣可以自己学习。
1. List:all_equal
函数:检查列表中的所有元素是否相同。
解释:使用[1:]和[:-1]比较给定列表的所有元素。
def all_equal(lst):
返回lst [1:]==lst [:-1]例如:
all_equal([1,2,3,4,5,6]) # False
all_equal([1,1,1,1]) #真2. List:all_unique
函数:如果列表中的所有值都是唯一的,则返回True,否则返回False。
解释:使用set set()删除给定列表中的重复项,并将其长度与原始列表的长度进行比较。
def all_unique(lst):
Return len(lst)==len(set(lst))示例:
x=[1,2,3,4,5,6]
y=[1,2,2,3,4,5]
all_unique(x) # True
all_unique(y) #假3. List:bifurcate
功能:分组列表值。如果filter中的元素为真,则对应的元素属于第一组;否则,属于第二组。
解释:使用list derivation和enumerate()将过滤元素分组。
def分叉(lst,过滤器):
返回[
[x for i,x in enumerate(lst)if filter[I]==True],
[x for i,x in enumerate(lst)if filter[I]==False]
]例如:
分叉([哔, boop , foo , bar],[真,真,假,真])
# [ [哔, boop ,吧],[福]]4. List:difference
函数:返回两个iterables之间的差。
解释:创建一个B的集合,用A的列表求导来保留不在_ B中的元素。
定义差异(a,b):
_b=集合(b)
return[item for item in a if item not in _ b]示例:
差([1,2,3],[1,2,4])#[3]5. List:flatten
功能:一次性综合清单。
解释:使用嵌套列表提取子列表的每个值。
p;toolbar:false">def flatten(lst):
return [x for y in lst for x in y]举例:
flatten([[1,2,3,4],[5,6,7,8]]) # [1, 2, 3, 4, 5, 6, 7, 8]6. Math:digitize
功能实现:将一个数分解转换为个位数字。
解读:将n字符化后使用
map()
函数结合int
完成转化
def digitize(n):举例:return list(map(int, str(n)))
digitize(123) # [1, 2, 3]7. List:shuffle
功能实现:将列表元素顺序随机打乱。
解读:使用
Fisher-Yates
算法重新排序列表元素。
from copy import deepcopy举例:from random import randint
def shuffle(lst):
temp_lst = deepcopy(lst)
m = len(temp_lst)
while (m):
m -= 1
i = randint(0, m)
temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m]
return temp_lst
foo = [1,2,3]8. Math:clamp_numbershuffle(foo) # [2,3,1] , foo = [1,2,3]
功能实现:将数字
num
钳在由a和b边界值规定的范围中。解读:如果
num
落尽范围内,返回num
;否则,返回范围内最接近的数字。
def clamp_number(num,a,b):举例:return max(min(num, max(a,b)),min(a,b))
clamp_number(2, 3, 5) # 39. String:byte_sizeclamp_number(1, -1, -5) # -1
功能实现:返回字符串的字节数。
解读:使用
string.encode('utf-8')
解码给定字符串,返回长度。
def byte_size(string):举例:return len(string.encode('utf-8'))
byte_size('?') # 410. Math:gcdbyte_size('Hello World') # 11
功能实现:计算几个数的最大公因数。
解读:使用
reduce()
和math.gcd
在给定列表上实现。
from functools import reduce举例:import math
def gcd(numbers):
return reduce(math.gcd, numbers)
gcd([8,36,28]) # 4以上就是30秒学python的各种小技巧。怎么样,对于一些常见操作是不是有了一些新的启发,除此之外,还有很多其它技巧可以慢慢学习,希望对各位读者有所帮助。以上就是传授 每30秒学会一个Python小技巧的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。