1.变量连续赋值
在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.变量值互换
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种形式
列表推导式在日常编程中,发挥着很重要的作用(尤其是利用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.迭代字典
下方是字符串格式化的一种操作,我相信你肯定是学过%和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.字符串的切分与合并
① 字符串的切分
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)
结果如下: