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  __getattr__与__setattr__使用方法
Sep 06 Python
Python入门篇之数字
Oct 20 Python
Python字符串特性及常用字符串方法的简单笔记
Jan 04 Python
python操作 hbase 数据的方法
Dec 18 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
Jul 06 Python
PyQt5每天必学之切换按钮
Aug 20 Python
python中树与树的表示知识点总结
Sep 14 Python
Python 如何优雅的将数字转化为时间格式的方法
Sep 26 Python
python利用datetime模块计算程序运行时间问题
Feb 20 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
浅谈优化Django ORM中的性能问题
Jul 09 Python
Python读写锁实现实现代码解析
Nov 28 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
基于mysql的bbs设计(三)
2006/10/09 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
jquery Easyui Datagrid实现批量操作(编辑,删除,添加)
2017/02/20 Javascript
axios基本入门用法教程
2017/03/25 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
Vue.js图片预览插件使用详解
2018/08/27 Javascript
angular6的响应式表单的实现
2018/10/10 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
Python+Opencv识别两张相似图片
2020/03/23 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
python 除法保留两位小数点的方法
2018/07/16 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
Python的高阶函数用法实例分析
2019/04/11 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
Python模块常用四种安装方式
2020/10/20 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
应用数学自荐书范文
2013/11/24 职场文书
出国导师推荐信
2014/01/16 职场文书
网上签名寄语活动留言
2014/01/18 职场文书
2014新年寄语
2014/01/20 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
大学生村官个人总结
2015/02/15 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书