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抓取最新博客内容并生成Rss
May 17 Python
python实现自动登录人人网并采集信息的方法
Jun 28 Python
浅谈django中的认证与登录
Oct 31 Python
python 字典修改键(key)的几种方法
Aug 10 Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
Apr 15 Python
django基于存储在前端的token用户认证解析
Aug 06 Python
Python获取统计自己的qq群成员信息的方法
Nov 15 Python
Python编写单元测试代码实例
Sep 10 Python
Python中logging日志的四个等级和使用
Nov 17 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 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 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
一段实用的php验证码函数
2016/05/19 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
js/jQuery简单实现选项卡功能
2014/01/02 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
Python中__new__与__init__方法的区别详解
2015/05/04 Python
Python实现图像几何变换
2015/07/06 Python
Python作用域用法实例详解
2016/03/15 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
python 删除非空文件夹的实例
2018/04/26 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
如何对python的字典进行排序
2020/06/19 Python
django教程如何自学
2020/07/31 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
医师定期考核实施方案
2014/05/07 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
个人授权委托书范本
2014/09/14 职场文书
一条慢SQL语句引发的改造之路
2022/03/16 MySQL
Vue.Draggable实现交换位置
2022/04/07 Vue.js
Python中request的基本使用解决乱码问题
2022/04/12 Python
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android