本文总结了我几个我在学习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)

结果如下:

最新文章

  1. 技能收获与C语言学习
  2. iOS之微信支付
  3. 【转】关于LinQ的动态Or查询
  4. web前端环境搭建
  5. BZOJ3654 : 图样图森破
  6. jmeter笔记8
  7. 17.1.2.1 Advantages and Disadvantages of Statement-Based and Row-Based Replication 基于语句和行的复制的优势和劣势
  8. poj 1265 Area(Pick定理)
  9. Student s = new Student();在内存中做了哪些事情?
  10. 【D3】D3词汇表
  11. python 3.6 urllib库实现天气爬取、邮件定时给妹子发送天气
  12. 这次彻底理解了Object这个属性
  13. LR参数化取值规则总结
  14. 491. Increasing Subsequences
  15. iis 限制动态IP地址访问次数
  16. STL的内存管理
  17. shopnc-setNcCookie-后台验证码
  18. SpringMVC系列(四)使用 POJO 对象绑定请求参数值
  19. SQL语句常见优化方法
  20. Unity获取指定资源目录下的所有文件

热门文章

  1. java class 文件格式解析
  2. Dom基础(二):Dom性能优化
  3. XCTF练习题---MISC---Excaliflag
  4. [AcWing 862] 三元组排序
  5. 【深度学习 论文篇 03-2】Pytorch搭建SSD模型踩坑集锦
  6. selenium模块 phantomJs 谷歌无可视界面
  7. 基础路径规划算法(Dijikstra、A*、D*)总结
  8. 89. Gray Code - LeetCode
  9. Flask框架实现登录注册功能(mysql数据库)
  10. 场景实践:使用RDS和ECS搭建个人博客