本文总结了我几个我在学习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. Linux中权限对于文件和目录的区别

    Linux系统中的权限对于文件和目录来说,是有一定区别的 下面先列举下普通文件对应的权限 1)可读r:表示具有读取.浏览文件内容的权限,例如,可以对文件执行 cat.more.less.head.ta ...

  2. Java 从零开始实现一个画图板、以及图像处理功能,代码可复现

    Java 从零开始实现一个画图板.以及图像处理功能,代码可复现 这是一个学习分享博客,带你从零开始实现一个画图板.图像处理的小项目,为了降低阅读难度,本博客将画图板的一步步迭代优化过程展示给读者,篇幅 ...

  3. 记一次jenkins发送邮件报错 一直报错 Could not send email as a part of the post-build publishers问题

    写在前面 虽然Jenkins是开源.免费的,好处很多,但有些功能上的使用,我个人还是很不喜欢,感觉用起来特别麻烦.繁琐. 为什么? 就拿这个邮件配置来说吧,因重装系统,电脑需要配置很多东西,结果今天就 ...

  4. Linux下安装并使用jumpserver跳板机

    堡垒机介绍: 官方网站:https://www.jumpserver.org/ 在一个特定网络环境下,为了保障网络和数据不受外界入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系 ...

  5. python学习-Day18

    目录 今日内容详细 模块 循环导入问题 判断文件类型 py文件可以被分为两种类型 内置变量 __ name __ 模块的查找顺序 验证先从内存空间中查找 验证再从内置模块中查找 验证sys.path ...

  6. FreeRTOS --(3)内存管理 heap2

    在<FreeRTOS --(2)内存管理 heap1>知道 heap 1 的内存管理其实只是简单的实现了内存对齐的分配策略,heap 2 的实现策略相比 heap 1 稍微复杂一点,不仅仅 ...

  7. Oracle查看表空间大小

    遇到报错 java.sql.SQLException: ORA-01653: 表 MESHIS.HIS_RET_LOT_FQC 无法通过 8 (在表空间 MESHIS_DATA_TBS 中) 扩展 a ...

  8. 团队Beta2

    队名:观光队 链接 组长博客 作业博客 组员实践情况 王耀鑫 **过去两天完成了哪些任务 ** 文字/口头描述 学习 展示GitHub当日代码/文档签入记录 接下来的计划 完成短租车,页面美化 **还 ...

  9. MybatisPlus常用注解

    一.@TableName value属性 实体类的名字是User,数据库表名是t_user @TableName(value = "t_user") public class Us ...

  10. Python3获取5000个元素的单字符表

    技术背景 此前考虑过一个问题,有没有办法获取到python里面所有定义好的单字符的表,比如我们获取5000个不一样的单字符,但是常用的chr(number)的方法里面包含了太多的非字母条目,比如缩进换 ...