无语——真的好用到不行的7个Python小技巧
作者:互联网
本文总结了我几个我在学习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)
结果如下:
标签:qq,技巧,结果,Python,用到,如下,python,UEbz4NcQ,print 来源: https://www.cnblogs.com/xiaoxiongmao123/p/16383811.html