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中__init__和__new__的区别详解
Jul 09 Python
python批量替换多文件字符串问题详解
Apr 22 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
Python简单过滤字母和数字的方法小结
Jan 09 Python
Python基于scipy实现信号滤波功能
May 08 Python
Python 异常处理Ⅳ过程图解
Oct 18 Python
python 非线性规划方式(scipy.optimize.minimize)
Feb 11 Python
Django 解决上传文件时,request.FILES为空的问题
May 20 Python
Python 如何反方向迭代一个序列
Jul 28 Python
Python爬虫如何破解JS加密的Cookie
Nov 19 Python
python 窃取摄像头照片的实现示例
Jan 08 Python
一篇文章带你搞懂Python类的相关知识
May 20 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 curl参数的详解
2013/06/17 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
解决jquery异步按一定的时间间隔刷新问题
2012/12/10 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
jquery常用函数与方法汇总
2015/09/01 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
浅谈Python实现Apriori算法介绍
2017/12/20 Python
django使用xlwt导出excel文件实例代码
2018/02/06 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
2018/07/16 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
高校毕业生自我鉴定
2013/10/27 职场文书
会计毕业生自荐信
2013/11/21 职场文书
出国留学介绍信
2014/01/13 职场文书
大学生冰淇淋店商业计划书
2014/01/14 职场文书
小区消防演习方案
2014/02/21 职场文书
《掌声》教学反思
2014/02/23 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
小学领导班子对照材料
2014/08/23 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers