Python中關於序列操作的實例程式碼分享
這篇文章主要介紹了Python編程之序列操作,結合實例形式分析了Python序列的功能、相關函數與具體使用技巧,需要的朋友可以參考下
本文實例講述了Python編程之序列操作。分享給大家供大家參考,具體如下:
#coding=utf8 ''''' 序列类型有着相同的访问模式:它的每一个元素可以通过指定一个偏移量的方式得到。 可以通过切片操作一次获得多个元素。 序列的下标偏移量是从0开始到总元素数减一结束。 标准类型操作符一般都能试用与所有的序列类型。 序列类型操作符: --------------------------------------------------------------------------- 序列操作符 作用 --------------------------------------------------------------------------- seq[ind] 获得下标为ind的元素 seq[ind1:ind2] 获得下标从ind1到ind2间的元素集合 seq * expr 序列重复expr次 seq1+seq2 连接序列seq1和seq2 obj in seq 判断obj元素是否包含在seq中 obj not in seq 判断obj元素是否不包含在seq中 --------------------------------------------------------------------------- 切片操作符在Python中的原型是:[start:stop:step] 即:[开始索引:结束索引:步长值] 开始索引:同其它语言一样,从0开始。序列从左向右方向中,第一个值的索引为0,最后一个为-1 结束索引:切片操作符将取到该索引为止,不包含该索引的值。 步长值:默认是一个接着一个切取,如果为2,则表示进行隔一取一操作。步长值为正时表示从左向右取,如果为负,则表示从右向左取。步长值不能为0。 切片索引的语法比简单的单一元素索引灵活的多。开始和结束索引值可以超过字符串的长度。 函数原型:range(start, end, scan): 参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5); end:计数到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1) 序列类型转换工厂函数: ----------------------------------------------------------------------------------------------------------------------- 函数 含义 ----------------------------------------------------------------------------------------------------------------------- list(iter) 把可迭代对象转换为列表 str(obj) 把obj对象转换成字符串(对象的字符串表示法) unicode(obj) 把对象转换成Unicode字符串(使用默认编码) basestring() 抽象工厂函数,是str和unicode的父类,不能实例化不能调用 tuple(iter) 把一个可迭代对象转换成一个元组对象 ----------------------------------------------------------------------------------------------------------------------- 序列类型可用的内建函数: ----------------------------------------------------------------------------------------------------------------------- 函数名 功能 ----------------------------------------------------------------------------------------------------------------------- enumerate(iter) 接受可迭代对象作为参数,返回一个enumerate对象,该对象生成 由iter每个元素的index值和item值组成的元组。 len(seq) 返回seq的长度 max(iter,key=None) or max(arg0,arg1....,key=None) 返回iter或(arg0,arg1,...)中的最大值,如果指定key,key必须是 一个可以传给sort()方法的,用于比较的回调函数 min(iter,key=None) or min(arg0,arg1....,key=None) 返回iter或(arg0,arg1,...)中的最小值,如果指定key,key必须是 一个可以传给sort()方法的,用于比较的回调函数 reversed(seq) 接受一个序列作为参数,返回一个以逆序访问的迭代器 sorted(iter,func=None, key=None,reverse=False) 接受一个可迭代对象作为参数,返回一个有序的列表;可选参数func,key 和reverse的含义跟list.sort()内建函数的参数含义一样。 sum(seq,init=0) 返回seq和可选参数init的总和,其效果等同于reduce(operator.add,seq,init) zip([it0,it1,...itN]) 返回一个列表,其第一个元素是it0,it1,...这些元素的第一个元素组成一个元组, 第二个...类推 ----------------------------------------------------------------------------------------------------------------------- ''' class sequenceClass(object): def __init__(self): '''''定义个整数序列表''' self.intSeq=[1,2,5,8,95,456,236,458,95,62,63,64,77] '''''定义个浮点数序列表''' self.floatSeq=[0.33,2.56,45.23,45.33,46.789,23.00] '''''定义个字符串序列表''' self.strSeq=["hello","double","floatNumer","ewang"] #输出初始化序列内容 def outInitData(self): print "初始化整数序列表:",self.intSeq print "初始化浮点数序列表:",self.floatSeq print "初始化字符串序列表:",self.strSeq #使用序列类型操作符 def sequenceTypeOper(self): #获取序列中第几个元素值,下表从0开始 print "整数列表第%d元素的值是%d " %(3,self.intSeq[2]) #获取序列中第几个到第几个的之间元素的集合(从左向右) print "浮点列表%d--%d之间元素列表:%r" %(1,5,self.floatSeq[1:5]) #倒数%d---%d之间的数据集合(从右向左) print "浮点列表%d--%d之间元素列表:%r" %(-1,-5,self.floatSeq[-5:-1]) #使用切片对序列逆序 print "输出逆序的字符串序列:",self.strSeq[::-1] #使用切片获取奇数位数据列表 print "输出整数列表奇数数位元素列表:" ,self.intSeq[::2] #使用切片获取偶数位数据列表 print "输出整数列表偶数位元素列表:",self.intSeq[1:-1:2] #序列重复2次 print "字符串序列重复2次并输出:",self.strSeq*2 #连接整数序列和浮点数序列 print "连接整数序列和浮点数序列",self.intSeq+self.floatSeq #判断某个元素会否包含在序列中 if 5 in self.intSeq: print "输出序列intSeq:",self.intSeq #判断某个元素不包含在序列中 if "home" not in self.strSeq: print "输出序列strSeq:",self.strSeq def sliceIndexUse(self): #切片索引的开始和结束索引值可以超过序列的长度 print "输出strSeq序列:",self.intSeq[-100:100] #使用range函数操作字符串 #每次都把位于最后一个字符删掉 #无法输出str这个字符串 ind=-1 strg=self.strSeq[2] print "要操作的字符串(strg)是 :",strg for ind in range(-1,-len(strg),-1): print strg[:ind], #使用None作为索引值,可以从第一个遍历到最后一个元素 s=self.strSeq[-1] print "\n要操作的字符串(s)是 :",s for i in [None]+range(-1,-len(s),-1): print s[:i], def useTypeConver(self): iterObj="hello ewang" inter=45454 print "\n使用类型转换函数前的iterObj类型 :",type(iterObj) print "使用类型转换函数前的inter类型 :",type(inter) #使用list类型转换函数 print "使用list转换函数后的变量类型:",type(list(iterObj)) #使用str把对象转换为字符串类型 print "使用str函数把变量inter转换为字符串类型:",type(str(inter)) #使用unicode函数转换为Unicode字符串 print "使用unicode函数把变量iterObj转换为Unicode类型:",type(str(iterObj)) #使用tuple函数转换为一个元组对象 print "使用tuple函数把变量iterObj转换为元组类型:",type(tuple(iterObj)) def useSequencBIF(self): #调用enumerate内建函数 print "使用enumerate函数:",enumerate(self.strSeq) #调用len函数 print "使用len函数:",len(self.strSeq) #调用max求最大值 print "使用max函数求序列的最大值:",max(self.intSeq) print "使用max函数求参数的最大值:",max(1,2,5,8,95,456) #调用min求最小值 print "使用min函数求序列的最小值:",min(self.floatSeq) print "使用min函数求参数的最小值:",min(0.33,2.56,45.23) #调用reversed函数对序列进行逆序 print "使用reversed函数对序列intSeq逆序:",reversed(self.intSeq) #调用sorted函数对序列进行排序 print "调用sorted函数对序列strSeq进行排序:",sorted(self.strSeq) #调用sum对序列进行求和 print "调用sum函数对序列intSeq进行求和",sum(self.intSeq) #调用zip返回一个元组列表 print "调用zip函数对list操作返回一个元组列表:",zip(self.strSeq,self.strSeq) def run(self): self.outInitData() self.sequenceTypeOper() self.sliceIndexUse() self.useTypeConver() self.useSequencBIF() def test(): #创建一个对象实例 seq=sequenceClass() seq.run() if __name__=="__main__": test()
運行結果:
以上是Python中關於序列操作的實例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

在CentOS系統上啟用PyTorchGPU加速,需要安裝CUDA、cuDNN以及PyTorch的GPU版本。以下步驟將引導您完成這一過程:CUDA和cuDNN安裝確定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA顯卡支持的CUDA版本。例如,您的MX450顯卡可能支持CUDA11.1或更高版本。下載並安裝CUDAToolkit:訪問NVIDIACUDAToolkit官網,根據您顯卡支持的最高CUDA版本下載並安裝相應的版本。安裝cuDNN庫:前

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

MinIO對象存儲:CentOS系統下的高性能部署MinIO是一款基於Go語言開發的高性能、分佈式對象存儲系統,與AmazonS3兼容。它支持多種客戶端語言,包括Java、Python、JavaScript和Go。本文將簡要介紹MinIO在CentOS系統上的安裝和兼容性。 CentOS版本兼容性MinIO已在多個CentOS版本上得到驗證,包括但不限於:CentOS7.9:提供完整的安裝指南,涵蓋集群配置、環境準備、配置文件設置、磁盤分區以及MinI

在CentOS系統上進行PyTorch分佈式訓練,需要按照以下步驟操作:PyTorch安裝:前提是CentOS系統已安裝Python和pip。根據您的CUDA版本,從PyTorch官網獲取合適的安裝命令。對於僅需CPU的訓練,可以使用以下命令:pipinstalltorchtorchvisiontorchaudio如需GPU支持,請確保已安裝對應版本的CUDA和cuDNN,並使用相應的PyTorch版本進行安裝。分佈式環境配置:分佈式訓練通常需要多台機器或單機多GPU。所

在CentOS上更新PyTorch到最新版本,可以按照以下步驟進行:方法一:使用pip升級pip:首先確保你的pip是最新版本,因為舊版本的pip可能無法正確安裝最新版本的PyTorch。 pipinstall--upgradepip卸載舊版本的PyTorch(如果已安裝):pipuninstalltorchtorchvisiontorchaudio安裝最新

在CentOS系統上安裝PyTorch,需要仔細選擇合適的版本,並考慮以下幾個關鍵因素:一、系統環境兼容性:操作系統:建議使用CentOS7或更高版本。 CUDA與cuDNN:PyTorch版本與CUDA版本密切相關。例如,PyTorch1.9.0需要CUDA11.1,而PyTorch2.0.1則需要CUDA11.3。 cuDNN版本也必須與CUDA版本匹配。選擇PyTorch版本前,務必確認已安裝兼容的CUDA和cuDNN版本。 Python版本:PyTorch官方支
