加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

30秒内便能学会的30个超实用Python代码片段

发布时间:2019-10-11 12:07:03 所属栏目:建站 来源:读芯术
导读:许多人在数据科学、机器学习、web开发、脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言。 Python流行的部分原因在于简单易学。 本文将简要介绍30个简短的、且能在30秒内掌握的代码片段。 1. 唯一性 以下方法可以检查给定列表是否有重复

此方法仅保留第一个迭代中的值来查找两个迭代之间的差异

  1. def difference(a, b): 
  2.  set_a = set(a) 
  3.  set_b = set(b) 
  4.  comparison = set_a.difference(set_b) 
  5.  return list(comparison) 
  6. difference([1,2,3], [1,2,4]) # [3] 

16. 输出差异

以下方法利用已有函数,寻找并输出两个列表之间的差异。

  1. def difference_by(a, b, fn): 
  2.  b = set(map(fn, b)) 
  3.  return [item for item in a if fn(item) not in b] 
  4. from math import floor 
  5. difference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2] 
  6. difference_by([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], lambda v : v['x']) # [ { x: 2 } ] 

17. 链式函数调用

以下方法可以实现在一行中调用多个函数

  1. def add(a, b): 
  2.  return a + b 
  3. def subtract(a, b): 
  4.  return a – b 
  5. a, b = 4, 5 
  6. print((subtract if a > b else add)(a, b)) # 9  

18. 重复值存在与否

以下方法利用set()只包含唯一元素的特性来检查列表是否存在重复值。

  1. def has_duplicates(lst): 
  2.  return len(lst) != len(set(lst)) 
  3. x = [1,2,3,4,5,5] 
  4. y = [1,2,3,4,5] 
  5. has_duplicates(x) # True 
  6. has_duplicates(y) # False 

19. 合并字库

以下方法可将两个字库合并。

  1. def merge_two_dicts(a, b): 
  2.  c = a.copy() # make a copy of a  
  3.  c.update(b) # modify keys and values of a with the ones from b 
  4.  return c 
  5. a = { 'x': 1, 'y': 2} 
  6. b = { 'y': 3, 'z': 4} 
  7. print(merge_two_dicts(a, b)) # {'y': 3, 'x': 1, 'z': 4} 

在Python3.5及升级版中,也可按下列方式执行步骤代码:

  1. def merge_dictionaries(a, b) 
  2.  return {**a, **b} 
  3. a = { 'x': 1, 'y': 2} 
  4. b = { 'y': 3, 'z': 4} 
  5. print(merge_dictionaries(a, b)) # {'y': 3, 'x': 1, 'z': 4} 

20. 将两个列表转换为字库

以下方法可将两个列表转换为字库。

  1. def to_dictionary(keys, values): 
  2.  return dict(zip(keys, values)) 
  3. keys = ["a", "b", "c"]  
  4. values = [2, 3, 4] 
  5. print(to_dictionary(keys, values)) # {'a': 2, 'c': 4, 'b': 3} 

21. 列举

以下代码段可以采用列举的方式来获取列表的值和索引。

  1. list = ["a", "b", "c", "d"] 
  2. for index, element in enumerate(list):  
  3.  print("Value", element, "Index ", index, ) 
  4. # ('Value', 'a', 'Index ', 0) 
  5. # ('Value', 'b', 'Index ', 1) 
  6. #('Value', 'c', 'Index ', 2) 
  7. # ('Value', 'd', 'Index ', 3)  

22. 时间成本

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读