Python知識之列表的十個(gè)小技巧分享
一、提要
隨著 python 的普及,越來越多的功能可用于 python 編碼。使用此功能可以用更少的行和更清晰的方式編寫代碼。
在本文中,我們將看到 10 個(gè)這樣的 Python 技巧,它們非常常用且最有用。
二、十個(gè)典型功能
2.1 倒排列表 reverse()
我們可以使用 reverse() 函數(shù)簡單地反轉(zhuǎn)給定列表。它處理列表中存在的數(shù)字和字符串?dāng)?shù)據(jù)類型。
示例代碼:
List = ["Shriya", "Lavina","Sampreeti" ] List.reverse() print(List)
結(jié)果:
['Sampreeti', 'Lavina', 'Shriya']
2.2 更換列表排列順序
如果您需要以不同的順序打印列表的值,您可以將列表分配給一系列變量,并以編程方式?jīng)Q定您要打印列表的順序。
示例代碼:
List = [1,2,3] w, v, t = List print(v, w, t ) print(t, v, w )
輸出結(jié)果
(2, 1, 3) (3, 2, 1)
2.3 函數(shù)的生成器參數(shù)
在函數(shù)內(nèi)部使用生成器,我們可以直接在函數(shù)內(nèi)部使用生成器來編寫更短、更簡潔的代碼。在下面的示例中,我們使用生成器直接作為 sum 函數(shù)的參數(shù)來求和。
示例代碼:
sum(i for i in range(10) )
運(yùn)行結(jié)果:
45
2.4 拉鏈函數(shù)合并
使用 zip() 函數(shù)
當(dāng)我們需要連接許多迭代器對象(如列表)以獲得單個(gè)列表時(shí),我們可以使用 zip 函數(shù)。結(jié)果顯示每個(gè)項(xiàng)目都與其他列表中的相應(yīng)項(xiàng)目分組。
示例代碼:
Year = (1999, 2003, 2011, 2017)
Month = ("Mar", "Jun", "Jan", "Dec")
Day = (11,21,13,5)
print zip(Year,Month,Day)運(yùn)行結(jié)果:
[(1999, 'Mar', 11), (2003, 'Jun', 21), (2011, 'Jan', 13), (2017, 'Dec', 5)]
2.5 交換兩個(gè)變量值
使用一行代碼交換兩個(gè)數(shù)字,數(shù)字交換通常需要將值存儲在臨時(shí)變量中。但是通過這個(gè) python 技巧,我們可以使用一行代碼而不使用任何臨時(shí)變量來做到這一點(diǎn)。
示例代碼:
x,y = 11, 34 print x print y x,y = y,x print x print y
運(yùn)行結(jié)果:
11 34
34 11
2.6 矩陣轉(zhuǎn)置
轉(zhuǎn)置矩陣涉及將列轉(zhuǎn)換為行。在 python 中,我們可以通過設(shè)計(jì)一些循環(huán)結(jié)構(gòu)來遍歷矩陣中的元素并更改它們的位置來實(shí)現(xiàn)它,或者我們可以使用以下涉及 zip 函數(shù)的腳本與 * 運(yùn)算符一起解壓縮一個(gè)列表,該列表成為給定的轉(zhuǎn)置矩陣。
示例代碼:
x = [[31,17], [40 ,51], [13 ,12]] print (zip(*x))
運(yùn)行結(jié)果:
[(31, 40, 13), (17, 51, 12)]
2.7 打印字符串N次
打印一個(gè)字符串 N 次,任何編程語言中多次打印字符串的常用方法是設(shè)計(jì)一個(gè)循環(huán)。
但是 python 有一個(gè)簡單的技巧,在 print 函數(shù)中涉及一個(gè)字符串和一個(gè)數(shù)字。
示例代碼:
str ="Point"; print(str * 3);
運(yùn)行結(jié)果:
PointPointPoint
2.8 倒排列表
列表切片是python中一種非常強(qiáng)大的技術(shù),它也可以用來反轉(zhuǎn)列表中元素的順序。
示例代碼:
#Reversing Strings list1 = ["a","b","c","d"] print list1[::-1] # Reversing Numbers list2 = [1,3,6,4,2] print list2[::-1]
運(yùn)行結(jié)果:
['d', 'c', 'b', 'a'] [2, 4, 6, 3, 1]
2.9 尋找整數(shù)的因子
當(dāng)我們需要一個(gè)數(shù)的因數(shù),需要進(jìn)行一些計(jì)算或分析時(shí),我們可以設(shè)計(jì)一個(gè)小循環(huán),用迭代索引檢查該數(shù)的可分性。
示例代碼:
f = 32 print "The factors of",x,"are:" for i in range(1, f + 1): ? ?if f % i == 0: print(i)
運(yùn)行結(jié)果:
The factors of 32 are: 1 2 4 8 16 32
2.10 查看變量占用內(nèi)存
檢查內(nèi)存使用情況:我們可以使用 getsizeof() 函數(shù)檢查我們聲明的每個(gè)變量消耗的內(nèi)存量。
正如您在下面看到的,不同的字符串長度將消耗不同的內(nèi)存量。
示例代碼:
import sys a, b, c,d = "abcde" ,"xy", 2, 15.06 print(sys.getsizeof(a)) print(sys.getsizeof(b)) print(sys.getsizeof(c)) print(sys.getsizeof(d))
運(yùn)行結(jié)果:
38 35 24 24
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺析pip安裝第三方庫及pycharm中導(dǎo)入第三方庫的問題
這篇文章主要介紹了淺析pip安裝第三方庫及pycharm中導(dǎo)入第三方庫的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
使用python?scrapy爬取天氣并導(dǎo)出csv文件
由于工作需要,將爬蟲的文件要保存為csv,以前只是保存為json,下面這篇文章主要給大家介紹了關(guān)于如何使用python?scrapy爬取天氣并導(dǎo)出csv文件的相關(guān)資料,需要的朋友可以參考下2022-08-08
Python搭建代理IP池實(shí)現(xiàn)接口設(shè)置與整體調(diào)度
這篇文章主要介紹了Python搭建代理IP池實(shí)現(xiàn)接口設(shè)置與整體調(diào)度,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Python使用matplotlib繪圖無法顯示中文問題的解決方法
這篇文章主要介紹了Python使用matplotlib繪圖無法顯示中文問題的解決方法,結(jié)合具體實(shí)例形式分析了Python使用matplotlib繪圖時(shí)出現(xiàn)中文亂碼的原因與相關(guān)解決方法,需要的朋友可以參考下2018-03-03
Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的示例
本篇文章主要介紹了Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
使用Python實(shí)現(xiàn)批量修改文件的修改日期功能
在日常的文件管理中,您可能需要批量修改文件的修改日期,比如,您可能希望將某個(gè)文件夾中的所有文件的修改日期隨機(jī)設(shè)置為6到8月份之間的日期,這在數(shù)據(jù)整理中可能非常有用,本文將詳細(xì)介紹如何使用Python實(shí)現(xiàn)這一功能,需要的朋友可以參考下2024-10-10

