日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python常用技巧了解一下?

發布時間:2025/1/21 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python常用技巧了解一下? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Python 是一門非常優美的語言,并且功能也非常強大。本文搜集并總結了一些 Python 常用的技巧,一方面自己鞏固知識點,另一方面也可以給正在 Python 這條道路的同胞們一些指導。

話不多說,直接進入主題。

正文

交換變量值

快速交換兩個變量的值,操作非常簡單,示例如下:

a = 1 b = 2 print('before : a =',a,'b=',b) a,b = b,a print('after : a =',a,'b=',b)

輸出:

before : a = 1 b= 2 after : a = 2 b= 1

合并列表中的所有元素

將一個列表中的所有元素合并起來,示例如下:

a = ["Python","is","good"] print(' '.join(a))

輸出:

Python is good

這里使用空格來隔開每一個元素。

查找列表中出現頻率最高的元素

在一個列表中,統計出重復最多的元素,并計算其重復次數,示例如下:

a = [1,2,3,3,4,5,6,1,2,7,2,9,1,2]print(max(set(a),key = a.count))from collections import Countercnt = Counter(a) print(cnt.most_common())

輸出:

2 [(2, 4), (1, 3), (3, 2), (4, 1), (5, 1), (6, 1), (7, 1), (9, 1)]

第一個打印,輸出的是列表中出現的頻率最高的元素
第二個打印,輸出的是列表中每個元素出現的頻率,用元組的形式表示。
其中第一個輸出

print(max(set(a),key = a.count))

也可以寫成:

print(max(set(a),key = lambda x:a.count(x)))

這樣其實更便于理解。
關于 max 的用法可以參考這里。
關于 set 的用法可以參考這里

而第二個輸出:

print(cnt.most_common())

這里的most_common可以指定參數,假如說傳入cnt.most_common(2),那么將返回排前2個的集合,如果不指定參數,默認輸出所有。
關于Counter的用法可以參考這里。

返回列表中最小值和最大值的索引

a = [21,34,56,32,2,45]def find_max_value_index(a):return max(range(len(a)),key = a.__getitem__)def find_min_value_index(a):return min(range(len(a)),key = lambda x: a[x])print(find_max_value_index(a)) print(find_min_value_index(a))

注意,這里定義了兩個函數,分別計算最大值和最小值的索引值。兩種寫法有些不同,一個是使用了關鍵字lambda,我個人更傾向于添加lambda關鍵字的這種,利于理解。
為了更容易理解上面的這種寫法, 這里把語句拆解開并打印出來,這樣就一目了然了;

print(len(a)) print(range(len(a))) print(a.__getitem__(0))

輸出:

6 range(0, 6) 21

檢查兩個字符串是不是由相同字母不同順序組合

from collections import Countera = 'awawa211eqsass' b = 'wadqw1'c = 'abcde' d = 'cdabe' print(Counter(a) == Counter(b)) print(Counter(c) == Counter(d))

輸出:

False True

反轉字符串

a = 'awawa211eqsass' f = a[::-1] print(f) #ssasqe112awawa

也可以使用循環,不過是分行輸出

for x in reversed(a):print(x)

如果是要翻轉一個很長的數字

aa = 12345678 print(int(str(aa)[::-1])) #87654321

反轉列表

類似上面的反轉字符串

bb = [1,2,3,4,5] print(bb[::-1]) #[5,4,3,2,1]

同樣可以通過循環的方式來

for x in reversed(bb):print(x)

移除列表中的重復元素

>>> a = [1,2,3,4,5,3,2,1,7] >>> print(list(set(a))) [1, 2, 3, 4, 5, 7]

還可以導入庫中的模塊來實現

>>> b = ['aaw','bbb','ccc','aaw'] >>> print(list(set(b))) ['aaw', 'ccc', 'bbb'] >>> from collections import OrderedDict >>> print(list(OrderedDict.fromkeys(b).keys())) ['aaw', 'bbb', 'ccc']

合并字典

a = {'a':1} b = {'b':2} #方法一 print({**a,**b}) #方法二 print(dict(a.items() | b.items())) #方法三 a.update(b) print(a)

輸出結果:

{'a': 1, 'b': 2} {'b': 2, 'a': 1} {'a': 1, 'b': 2}

for else 用法

for x in range(1,5):if x == 0:break else:print("did not break out of for loop")

輸出:
did not break out of for loop
這個用法的意思就是,當循環結束后但是 for 中的內容還沒有執行,就會執行 else 中的內容。

轉換列表為逗號分隔符形式

#純字符串列表 a = ['aaa','bbb','ccc'] print(','.join(a)) #純數字列表 b = [1,2,3,4] print(','.join(map(str,b))) #字符串加數字列表 c = [1,2,'aaa',4] print(','.join(map(str,c)))

輸出:

aaa,bbb,ccc 1,2,3,4 1,2,aaa,4

字典 get 的方法

a = {'aaa':10,'bbb':20,'ccc':30} print(a.get("ddd",23))

可以傳入默認值,如果查詢不到 key 的話,就會返回默認值。

通過「鍵」排序字典元素

a = {'bbb':50,'aaa':20,'ccc':30} print(sorted(a.items(),key=lambda x:x[1])) #------測試-------# print(a.items()) print(('bbb', 50)[1])

輸出:

[('aaa', 20), ('ccc', 30), ('bbb', 50)] dict_items([('bbb', 50), ('aaa', 20), ('ccc', 30)]) 50

為了便于理解,這里輸出了 items()的值。

a = {'bbb':50,'aaa':20,'ccc':30} #方法一 print(sorted(a.items(),key=lambda x:x[1]))#方法二 from operator import itemgetter print(sorted(a.items(),key = itemgetter(1)))print(sorted(a,key=a.get))

輸出:

[('aaa', 20), ('ccc', 30), ('bbb', 50)] [('aaa', 20), ('ccc', 30), ('bbb', 50)] ['aaa', 'ccc', 'bbb']

其中最后一句輸出的是排序后的 key 列表。

轉置二維數組

org = [['a','b'],['c','d'],['e','f']] tran = zip(*org) print(list(tran))

輸出:

[('a', 'c', 'e'), ('b', 'd', 'f')]

鏈式函數調用

這是一種比較新穎的寫法,可以大大的縮短精簡代碼:

def add(a,b):return a+b def sub(a,b):return a-bb = True print((add if b else sub)(3,2))

輸出為:5

鏈式比較

a = 5 print(1< a < 8) print(1 == a < 20)

輸出為:

True False

列表拷貝的幾種方式

直接看示例吧

#僅賦值 a = [1,2,3,4] b = a b[0] = 5 print(a,b)#深拷貝 a = [1,2,3,4] b = a[:] b[0] =10 print(a,b)#相當于重新創建一個list空間 a = [1,2,3,4] b = list(a) b[0] = 6 print(a,b)#使用 list的copy函數,只有 Python3支持 a = [1,2,3,4] b = a.copy() b[0] = 8 print(a,b)#導入包來實現深拷貝 from copy import deepcopy b = [[1,2],[3,4]] c = deepcopy(b) c[0][0] = 5 print(b,c)

輸出結果:

[5, 2, 3, 4] [5, 2, 3, 4] [1, 2, 3, 4] [10, 2, 3, 4] [1, 2, 3, 4] [6, 2, 3, 4] [1, 2, 3, 4] [8, 2, 3, 4] [[1, 2], [3, 4]] [[5, 2], [3, 4]]

可以看到, 第一種方式僅僅是將 list 賦值給另一個對象,并非開辟新的空間,其他幾種方式都屬于深拷貝。

參考文檔:
https://www.toutiao.com/a6591753290361340429/?tt_from=android_share&utm_campaign=client_share&timestamp=1535293192&app=news_article&iid=41720269988&utm_medium=toutiao_android&group_id=6591753290361340429

總結

以上是生活随笔為你收集整理的Python常用技巧了解一下?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 村上凉子av | 少妇精品亚洲一区二区成人 | 亚洲av无码专区在线电影 | 中国 免费 av | 亚洲福利一区二区 | 国产精品久久久精品三级 | 丁香免费视频 | 国产中文视频 | 欧美大奶在线 | 欧美粉嫩videosex极品 | 超碰xxx| 玖玖精品在线视频 | 男人免费网站 | 成人一区二区视频 | 少妇激情偷人三级 | 男女激情在线观看 | 日韩一区在线播放 | 亚州国产精品视频 | 国产精华7777777 | 丁香婷婷综合激情 | 日本久久一区 | 日本精品久久久久 | 日韩在线视频二区 | 欧美日韩亚洲精品内裤 | 欧美一级视频免费 | 中文字幕人妻伦伦 | 国产精品日日摸夜夜爽 | 国产女无套免费视频 | 国产一区二区在线视频 | 日本精品一区二区三区四区的功能 | 一本高清dvd在线播放 | 91精品国产综合久久久蜜臀图片 | 丨国产丨调教丨91丨 | 免费国产一级 | 伊人av综合 | 午夜精品一区二 | 天堂资源站 | 女人叫床很黄很污句子 | 8x8ⅹ国产精品一区二区 | 日b影院| 图片区视频区小说区 | 人超碰 | 男女福利视频 | 黑人操日本女人视频 | 美日韩精品 | 国产成人精品一区二 | 亚洲人和日本人hd | 日本男女激情视频 | 国产一级片精品 | 国产成人无码AA精品区 | 福利社区一区二区 | 国产成人精品一区二区色戒 | 天天躁日日躁狠狠躁免费麻豆 | 96国产在线 | 亚洲欧美综合色 | 欧美毛片网站 | 亚洲熟女少妇一区二区 | 亚洲伦理一区二区 | 久久久www免费人成人片 | 黑人巨茎大战欧美白妇 | 内射合集对白在线 | 免费看v片 | 日韩精品人妻一区二区三区免费 | www.毛片com| 欧美精品在线视频 | 黄色资源在线观看 | 97国产视频| 影音先锋亚洲成aⅴ人在 | 尤物网站在线观看 | 超碰在线资源 | 四虎在线免费 | 强制高潮抽搐哭叫求饶h | 国产极品视频在线观看 | 久久精品国产99久久不卡 | 国产91在线免费 | 尤物毛片| 调教驯服丰满美艳麻麻在线视频 | 天天操天天操天天操 | 成人精品一区二区三区视频 | 黄色片网站在线免费观看 | 人人看超碰 | 欧美成年人在线观看 | 91福利视频在线 | 国产麻豆剧传媒精品国产av | 日本激情在线 | 香蕉久久夜色精品国产使用方法 | 老女人一区 | 激情都市一区二区 | 韩国黄色一级片 | 日日摸夜夜添夜夜添高潮喷水 | 制服丝袜国产精品 | 一区二区不卡在线观看 | 强行侵犯视频在线观看 | 操操操操操操操操操 | 黄色一级片在线 | 青青草成人免费在线视频 | 午夜激情欧美 | 亚洲国产精品成人无久久精品 | 少妇高潮一区二区三区99欧美 |