简单实用,Python中常用的十个简短小技巧

☆樱花仙子☆ 提交于 2021-01-05 16:43:10

#### 一行累加求和

一行代码求和100以内的整数,利用sum和range函数轻松实现,需要注意的是range(1,101)返回的是1-100之间的整数,不包括101,遵循左闭右开的原则。

![image.png](https://upload-images.jianshu.io/upload_images/25205170-0cbc99ff00bb06d2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

>本期推送整理了初学者可能会用到的Python资料,含有书籍/视频/在线文档和编辑器/源
代码,关于`Python`的安装qun:850973621

#### 列表去重

一行代码,先利用集合的属性(无序不重复),将列表转换成集合,再利用list函数将集合转换成列表,完成列表去重。

![image.png](https://upload-images.jianshu.io/upload_images/25205170-b018cfeffa851f75.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#### 列表推导式

列表推导能非常简洁的构造一个新列表,只用一条简洁的表达式即可对得到的元素进行转换变形。

[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件];

下图中,提取列中大于10的元素、将列表元素乘以2,一行列表推导式即可搞定,方便快捷!

![image.png](https://upload-images.jianshu.io/upload_images/25205170-bc59699420934721.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#### 快速交换数值

列表中交换两个数值,并不需要找个中间变量作为媒介,直接交换赋值即可,如下图所示:

![image.png](https://upload-images.jianshu.io/upload_images/25205170-aebebed261a5946e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#### 元素排序

按列表元素字符长度进行排序,sort函数本身对列表进行排序,通过关键字key=len(长度)进行排序,此方法修改了列表本身。
![image.png](https://upload-images.jianshu.io/upload_images/25205170-dc585c852739bbbf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#### 字符次数统计

统计某字符串中某字符出现的次数,直接用count函数计数即可,区分大小写!

![image.png](https://upload-images.jianshu.io/upload_images/25205170-bc37ed303f44e134.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#### 两种方法除去空格

第一种方法replace很容易理解,直接替换即可。

第二种方法先利用split函数通过空白将字符串分解,`str.split(" ")`返回一个列表:

`['i', 'am', 'hero', 'ha', 'ha', '!']` ,再利用join函数,将列表各元素组合在一起。

![image.png](https://upload-images.jianshu.io/upload_images/25205170-9d698afaffad47f6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#### 正则匹配中文

`“[\\u4e00-\\u9fa5]+”` 匹配中文。

![image.png](https://upload-images.jianshu.io/upload_images/25205170-507a54b98f58798a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#### 一行将列表元素翻倍

下图中,通过map函数与lambda函数,将列表的每个元素乘以2,短短一行代码,是不是有简洁?map函数会根据提供的函数对指定的序列做映射,返回迭代器,再利用list函数,返回列表。

![image.png](https://upload-images.jianshu.io/upload_images/25205170-7214c35c3fc393d0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#### 一行代码输出乘法表格

在代码框中输入:`"print('\n'.join(' '.join('%s*%s=%-2s'%(y,x,x*y) for y in range(1,x+1)) for x in range(1,10)))"`

![image.png](https://upload-images.jianshu.io/upload_images/25205170-011f1be434a3f924.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

链接:https://juejin.cn/post/6844904190330798088

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!