如何一晚上学会Python,python使用技巧

  如何一晚上学会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]

  shuffle(foo) # [2,3,1] , foo = [1,2,3]

8. Math:clamp_number
功能实现:将数字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) # 3

  clamp_number(1, -1, -5) # -1

9. String:byte_size
功能实现:返回字符串的字节数。
解读:使用string.encode('utf-8')解码给定字符串,返回长度。

  

def byte_size(string):

   return len(string.encode('utf-8'))

举例:

  

byte_size('?') # 4

  byte_size('Hello World') # 11

10. Math:gcd
功能实现:计算几个数的最大公因数。
解读:使用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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: