本文总结了我几个我在学习python过程中,用到的几个超好用的操作,这里分享给大家,我相信你们也会非常喜欢,目录如下。这里提前索要再看,记得点一点再看哦。这只是其中一些技巧,以后会慢慢和大家分享。

1.变量连续赋值 (https://jq.qq.com/?_wv=1027&k=UEbz4NcQ)

在python中是可以使用连续赋值的方式,来一次为多个变量进行赋值的,这里主要有以下两种方式。

# 多个变量赋同一个值
a = b = c = 8
print(a,b,c) # 多个变量赋不同的值
a, b, c = 1, 2, 3
print(a,b,c)

结果如下:

但是这里有一个易错点,需要大家注意。

# 大家觉得下方的结果会是多少。
a = 6
a, b = 8, a
print(a,b)

结果如下:


有的人可能会觉得结果应该是8和8,但是实际上并不是。因为在连续赋值语句中等式右边其实都是局部变量,而不是真正的变量值本身。比如在上面例子中,右边的a,在python解析的时候,只是把变量a指向的变量6赋给b,而不是a=8之后a的结果,这一点刚开始学python的人可能容易误解。实在理解不了,至少你要记住!

2.变量值互换 (https://jq.qq.com/?_wv=1027&k=UEbz4NcQ)

a, b = 6, 8
print("替换之前的a和b的值", a, b, "\n") a, b = b, a
print("替换之后的a和b的值", a, b)

结果如下:

3.合并字典
这个操作能够将字典里面相同的键给合并,但是最后的值却不是相加的操作,而是是使用后来这个变量的键中的值。

x = {"a":1 ,"b":3}
y = {"b":2 ,"d":4}
z = {**x, **y}
print(z)

结果如下:

4.列表推导式的3种形式 (https://jq.qq.com/?_wv=1027&k=UEbz4NcQ)

列表推导式在日常编程中,发挥着很重要的作用(尤其是利用python做数据清洗的时候),它能够简化我们的代码,及其好用,我这里将它的用法给大家总结一下。

① 一般形式

x = [1, 3, 5, 7, 9]
y = [i**2 for i in x]
print(y)

结果如下:

② 带if的列表解析式

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [i for i in x if i % 2 == 0]
print(y)

结果如下:

③ 带if…else…的列表解析式

x = [1, 2, 3, 4, 5, 6]
y = ["我是偶数" if i % 2 == 0 else "我是奇数" for i in x]
print(y)

结果如下:

5.迭代字典 (https://jq.qq.com/?_wv=1027&k=UEbz4NcQ)

下方是字符串格式化的一种操作,我相信你肯定是学过%和format的字符串格式化,但是这个f字符串格式化也是超好用,性能也比前者高哦。

x = {"a":1, "b":2, "c":3, "d":4}
for key, value in x.items():
print(f"{key}:{value}")

结果如下:

6.迭代列表或数组,返回元素值及索引
这个操作绝对是超好用,我们得到了元素的索引值后,可以使用if条件,对元素进行过滤。

x = ["张三", "李四", "王五", "赵六", "王五"]
for index, value in enumerate(x):
if x[index] == "王五":
print("\n","你猜我是谁,我是:",x[index])
else:
print("\n","我不是王五,我是:",x[index])

结果如下:

7.字符串的切分与合并 (https://jq.qq.com/?_wv=1027&k=UEbz4NcQ)

① 字符串的切分

x = "my name is huang wei"
y = x.split(" ")
print(y) x1 = "2020-02-02"
y1 = x1.split("-")
print(y1)

结果如下:

② 字符串的合并

x2 = ['my', 'name', 'is', 'huang', 'wei']
y2 = " ".join(x2)
print(y2) x3 = ['2020', '02', '02']
y3 = "-".join(x3)
print(y3)

结果如下:

无语——真的好用到不行的7个Python小技巧的更多相关文章

  1. 我的代码真的没有bug,稍等,先试试小黄鸭调试法

    今天测试同学为了赶进度,加班去测试我的功能. 因为我的代码都写完了,也没有陪测的必要,所以就没去了~ 下午第一个问题提过来,根据经验,这个应该是测试的逻辑问题,最后他自己也发现了. 过了一会,提了第二 ...

  2. [小技巧]你真的了解C#中的Math.Round么?

    今天在某.NET Core 群中看到有人在问Math.Round的问题.其实这个问题之前有很多人遇到了,在此总结一下. 开发者为了实现小数点后 2 位的四舍五入,编写了如下代码, var num = ...

  3. 关于chrome控制台那些事

    作为一名前端,除了编写完美代码之外(个人还不具备),当然也要会调试啦,对于firebug比较而言,我还是更喜欢chrome控制台比较多(可能使用较多,更顺手的原因吧).所以来总结下,关于chrome控 ...

  4. Python第一个基本教程6章 抽象的

    Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 Type "copyri ...

  5. python --- 字符编码学习小结

    上半年的KPI,是用python做一个测试桩系统,现在系统框架基本也差不多定下来了.里面有用到新学的工厂设计模式以及以及常用的大牛写框架的业务逻辑和python小技巧.发现之前自己写的代码还是面向过程 ...

  6. python基础教程_学习笔记9:抽象

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/signjing/article/details/30745465 抽象 懒惰即美德. 抽象和结构 抽 ...

  7. Python总结篇——知识大全

    python基础 Python开发环境搭建 Python变量和基本数据类型 python基本数据类型之操作 python的语法规范及for和while python编码 python文件操作 pyth ...

  8. Python入门学习笔记4:他人的博客及他人的学习思路

    看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...

  9. 电量分析工具 Battery Historian 的配置及使用

    1.Building from source code(通过各种配置后从源码构建) 官方流程看似很麻烦,但一上手,很快就搞定,让我情何以堪. ps:以下均是参考官方及网友做的 copy https:/ ...

随机推荐

  1. 2021.08.06 P3478 STA-Station(树形结构)

    2021.08.06 P3478 STA-Station(树形结构) [P3478 POI2008]STA-Station - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 给 ...

  2. 程序员延寿指南「GitHub 热点速览 v.22.17」

    很多人对程序员的固有印象之一便是常加班.易"猝死"!近几年的许多报道似乎也进一步加深了这种印象.应该如何更好地健康地活着.敲喜欢的代码呢?HowToLiveLonger 教你如何从 ...

  3. [AcWing 75] 和为S的两个数字

    点击查看代码 class Solution { public: vector<int> findNumbersWithSum(vector<int>& nums, in ...

  4. 使用Typora + 阿里云OSS + PicGo 打造自己的图床

    使用Typora + 阿里云OSS + PicGo 打造自己的图床 为什么要打造图床? 让笔记远走高飞 试问以下场景: 我们要把 markdown 笔记放到某博客上,直接进行复制即可.但因你的图片存储 ...

  5. Linux中的RCU机制

    什么是RCU? RCU(Read-Copy Update),顾名思义就是读-拷贝-修改,它是基于其原理命名的.对于被RCU保护的共享数据结构,读者不需要获得任何锁就可以访问它,但写者在访问它时首先拷贝 ...

  6. ucore lab2 物理内存管理 学习笔记

    总的来讲把的LAB1代码逻辑理顺后再往后学就轻松了一大截.LAB2过遍课程视频,再多翻翻实验指导书基本上就没遇到啥大坎儿.对这节学得东西做个总结就是一张图: 练习0:填写已有实验 本实验依赖实验1.请 ...

  7. Vert.X CompositeFuture 用法

    CompositeFuture 是一种特殊的 Future,它可以包装一个 Future 列表,从而让一组异步操作并行执行:然后协调这一组操作的结果,作为 CompositeFuture 的结果.本文 ...

  8. 攻防世界web进阶题—unfinish

    攻防世界web进阶题-unfinish 1.看一下题目提示SQL 2.打开题目看一下源码,没有问题 3.查一下网站的组成:php+Apache/2.4.7+Ubuntu 4.扫一下目录,扫到一个注册页 ...

  9. KeyDB重量发布6.3.0开源版

    摘要:5月12日 KeyDB 社区隆重发布了 6.3.0开源版本,将与华为加拿大研究院DCS团队2021-2022年合作的成果,深度优化的企业版的能力贡献给了开源社区. KeyDB是目前Redis 分 ...

  10. Spring-Batch处理MySQL数据后存到CSV文件

    1 介绍 用Spring Batch实现了个简单的需求,从MySQL中读取用户表数据,根据生日计算年龄,将结果输出到csv文件. 1.1 准备表及数据 user test; DROP TABLE IF ...