程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

無語——真的好用到不行的7個Python小技巧

編輯: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)

結果如下:


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved