Python中相见恨晚的技巧


Posted in Python onApril 13, 2021

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

1. 交换变量值

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

a, b = 5, 10
print(a, b)   //5, 10
a, b = b, a
print(a, b)   //10, 5

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

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

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

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

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

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

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

from collections import Counter

a = 'abcdefg'
b = 'adcbgfb'
print(Counter(a) == Counter(b))

5. 反转字符串、列表

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

a = 'dadabjdnakdmnkafad'
print(a[::-1])

num = 1343453535
print(int(str(num)[::-1]))

a = [1,3,554,64,2]
print(a[::-1])

6. 转置二维数组

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

7. 链式比较

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

b = 6
print(4 < b < 7)
print(1 == b < 9)

8. 三元运算符

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

b = 'B'
c = 'C'
flag = True
a = b if flag else c

9.链式函数调用

def product(a, b):
   return a * b

def add(a, b):
   return a + b

b = True
print((product if b else add)(5 ,7))

10. for-else 语法

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

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

11. 合并字典

d1 = {'a': 1}
d2 = {'b': 2}

print(**d1, **d2)  # python3.5支持

print(dict(d1.items() | d2.items()))

d1.update(d2)
print(d1)

12. 移除列表中重复元素

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

13. **kwargs

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

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

dictionary = {'a': 1, 'b': 2}

def func(**kwargs)
  for key in kwargs:
     print('key:', key, 'value:',kwargs[key])

14. 列表推导式

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

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

15. map函数

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

以上就是Python中相见恨晚的技巧(记得收藏)的详细内容,更多关于python技巧的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python client使用http post 到server端的代码
Feb 10 Python
Python中查看文件名和文件路径
Mar 31 Python
Python3如何解决字符编码问题详解
Apr 23 Python
详解Python实现多进程异步事件驱动引擎
Aug 25 Python
浅谈python迭代器
Nov 08 Python
python如何读写csv数据
Mar 21 Python
python 机器学习之支持向量机非线性回归SVR模型
Jun 26 Python
python conda操作方法
Sep 11 Python
python有序查找算法 二分法实例解析
Feb 18 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
python实现从ftp上下载文件的实例方法
Jul 19 Python
Python可变集合和不可变集合的构造方法大全
Dec 06 Python
利用python做表格数据处理
python glom模块的使用简介
Apr 13 #Python
Python的flask接收前台的ajax的post数据和get数据的方法
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
python实现简单反弹球游戏
python中Tkinter 窗口之输入框和文本框的实现
Apr 12 #Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
You might like
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
2015/03/03 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
Python descriptor(描述符)的实现
2020/11/15 Python
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
养成教育经验材料
2014/05/26 职场文书
结对共建工作方案
2014/06/02 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL