Python中相见恨晚的技巧

开发 后端
本篇带给大家在Python中的一些技巧,希望能够帮助到你!

[[393011]]

 话不多说,直接开干,攒了很久!

1. 交换变量值

这个应该比较简单,但是日常用很容易忽略。

  1. a, b = 5, 10 
  2. print(a, b)   //5, 10 
  3. a, b = b, a 
  4. print(a, b)   //10, 5 

 2. 将列表中所有元素组合成字符串

这个其实也是一个基本语法

  1. a = ['python''java''c++''go'
  2. print(','.join(a))  //python,java,c++,go 

 3. 查找列表中频率最高的值

感觉用 Python 刷算法题是不是很爽?

  1. a = [1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4] 
  2. print(max(set(a), key = a.count)) 

 4. 检查两个字符串是不是由相同字母打乱顺序组成

  1. from collections import Counter 
  2.  
  3. a = 'abcdefg' 
  4. b = 'adcbgfb' 
  5. print(Counter(a) == Counter(b)) 

 5. 反转字符串、列表

这个用 Java 也是一句话就可以实现

  1. a = 'dadabjdnakdmnkafad' 
  2. print(a[::-1]) 
  3.  
  4. num = 1343453535 
  5. print(int(str(num)[::-1])) 
  6.  
  7. a = [1,3,554,64,2] 
  8. print(a[::-1]) 

 6. 转置二维数组

  1. origin = [['a''b'], ['c''d'], ['e''f']] 
  2. transposed = zip(*origin) 
  3. print(list(transposed )) 

 7. 链式比较

这个比较符合数学上的比较习惯

  1. b = 6 
  2. print(4 < b < 7) 
  3. print(1 == b < 9) 

 8. 三元运算符

其实 Python 中是没有三元运算符的,不过我们可以用另外一种方式替代:

  1. b = 'B' 
  2. c = 'C' 
  3. flag = True 
  4. a = b if flag else c 

 9.链式函数调用

  1. def product(a, b): 
  2.    return a * b 
  3.  
  4. def add(a, b): 
  5.    return a + b 
  6.  
  7. b = True 
  8. print((product if b else add)(5 ,7)) 

 10. for-else 语法

注意不是 if-else,而是 for 循环可以使用 else:

  1. a = [1, 2, 3, 4, 5] 
  2. for el in a: 
  3.     if(el == 0) 
  4.        print('找到 0 了'
  5. else
  6.     print('没有找到 0'

 11. 合并字典

  1. d1 = {'a': 1} 
  2. d2 = {'b': 2} 
  3.  
  4. print(**d1, **d2)  # python3.5支持 
  5.  
  6. print(dict(d1.items() | d2.items())) 
  7.  
  8. d1.update(d2) 
  9. print(d1) 

 12. 移除列表中重复元素

  1. items = [2,2,3,4,1] 
  2. print(list(set(items))) 

 13. **kwargs

可变长参数,是一个字典。

词典对象前面的双星号可以让你把该词典的内容作为命名参数输入到函数中。词典的秘钥是参数名,值是传递给函数的值。你甚至不需要称它为 kwargs!

  1. dictionary = {'a': 1, 'b': 2} 
  2.  
  3. def func(**kwargs) 
  4.   for key in kwargs: 
  5.      print('key:'key'value:',kwargs[key]) 

 14. 列表推导式

可以用一行代码完全列表中的数据操作

  1. numbers = [1, 2, 3, 4, 5, 6] 
  2. y = [x for x in numbers if x % 2 == 0] 
  3. print(y)   //[2, 4, 6] 

 15. map函数

  1. x = [1, 2, 3] 
  2. y = map(lambda x : x + 1 , x) 
  3. print(y)  //[2, 3, 4] 

 【编辑推荐】

 

责任编辑:姜华 来源: 今日头条
相关推荐

2021-09-28 14:40:03

Python内置库itertools

2019-08-09 14:13:22

Python知乎程序员

2018-01-25 14:53:20

iPhone技巧删除照片

2020-05-06 09:18:56

Pandas函数大数据技术

2024-01-29 00:51:39

前端开发利器

2020-05-07 09:02:55

代码Python开发

2017-06-01 09:34:55

R语言包sqldf

2021-08-20 15:43:54

iPhone手机iOS

2020-04-01 14:16:05

Pandastips数据分析

2016-12-09 12:50:36

Android

2021-08-19 15:02:32

科技软件电脑

2015-10-27 10:12:21

r语言命令相见恨晚

2009-02-20 13:12:23

unixSolaris初学者

2015-07-14 14:09:56

2019-02-12 11:22:29

Linux 系统 命令

2023-08-02 20:04:47

2018-02-07 14:54:17

Riverbed应用性能管理数字体验

2021-04-20 10:47:59

手机APP科技

2020-10-30 07:09:52

Lombok架构师

2019-12-02 10:16:45

Linux 开源操作系统
点赞
收藏

51CTO技术栈公众号