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随机读取文件实现实例
May 25 Python
pytorch训练imagenet分类的方法
Jul 27 Python
python实现ID3决策树算法
Aug 29 Python
Python读取YUV文件,并显示的方法
Dec 04 Python
Python基于mysql实现学生管理系统
Feb 21 Python
运用Python的webbrowser实现定时打开特定网页
Feb 21 Python
python版DDOS攻击脚本
Jun 12 Python
详解Django CAS 解决方案
Oct 30 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
Jul 02 Python
Python生成pdf目录书签的实例方法
Oct 29 Python
Python re.sub 反向引用的实现
Jul 07 Python
Django框架中模型的用法
Jun 10 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代码优化及php相关问题总结
2006/10/09 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
jQuery 前的按键判断代码
2010/03/19 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
详解Python3中yield生成器的用法
2015/08/20 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
对python周期性定时器的示例详解
2019/02/19 Python
python 实现两个npy档案合并
2020/07/01 Python
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
J2EE面试题
2016/03/14 面试题
应届生学校辅导员求职信
2013/11/07 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
项目投资意向书
2014/04/01 职场文书
大学学风建设方案
2014/05/04 职场文书
李开复演讲稿
2014/05/24 职场文书
毕业生找工作自荐书
2014/06/30 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
检讨书范文300字
2015/01/28 职场文书
安全教育主题班会教案
2015/08/12 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang
代码解析React中setState同步和异步问题
2021/06/03 Javascript
MySQL系列之二 多实例配置
2021/07/02 MySQL