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中的实例方法、类方法和静态方法
Feb 17 Python
python中实现k-means聚类算法详解
Nov 11 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
Pycharm无法显示动态图片的解决方法
Oct 28 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
Jan 02 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
Django实现将一个字典传到前端显示出来
Apr 03 Python
Prometheus开发中间件Exporter过程详解
Nov 30 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
matlab xlabel位置的设置方式
May 21 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
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
javascript与css3动画结合使用小结
2015/03/11 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
Python中%r和%s的详解及区别
2017/03/16 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
python GUI实例学习
2017/11/21 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
博士研究生自我鉴定范文
2013/12/04 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
师德师风学习材料
2014/12/19 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
优秀教师个人总结
2015/02/11 职场文书
2014年底个人工作总结
2015/03/10 职场文书
学术会议通知
2015/04/15 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL