Ⅰ python 通用的序列操作
序列 (sequence)是Python最基本的一種數據結構。
序列中的每個元素都有編號,即其位置或索引,其中第一個元素的索引為0,第二個元素的索引為1,依此類推。Python的序列索引支持負數,-1表示序列的最後一個元素,這是Python不同其他很多種語言不同的地方。
Python內置了多種序列,列表、元組、字元串是其中最常用的三種,本文為你描述各種序列的通用操作。
索引從0開始,索引號為0的元素為1,greeting的索引號為0的元素為'H'。
你可能注意到'Hello'和'H'都用單引號包圍,這是Python不同於其他語言的另一個地方。Python並沒有專門用於表示字元的數據類型,因此一個字元就是一個只包含一個元素的字元串。
Python的序列索引支持負數,-1表示倒數第一個元素。
切片 (slicing)操作用於訪問序列特定 范圍 內的元素。在一對方括弧內使用兩個索引,並用冒號隔開:
注意到,返回的序列並未包含願序列的第6個元素7,就相當於數學集合中的 左閉右開區間 操作。
換言之,你提供兩個索引來指定切片的邊界,其中第一個索引指定的元素包含在切片內,但第二個索引指定的元素不包含在切片內。
保留冒號,省略羨運備第一個索引,表示從序列起始位置開始切片;省略第二個索引,表示切片到序列末尾,包含最後一個元素:
這個操作的效果是:在指定的區間內間隔取元素,語法格式為:
例如:
步長為正數時,它從起點移到終點,而步長為負數時,它從終點移到起點。
可以使用加法運算(+運算符)拼接兩個序列:
從錯誤消息兄毀可知,不能拼接列表和字元串,雖然它們都是序列。一般而言,不悄配能拼接不同類型的序列。
將序列與數x 相乘時,將重復這個序列x 次來創建一個新序列:
初始化一個長度為10的空列表:
成員資格檢查判定一個元素是否存在於集合中,如存在返回True,否則返回False,實際上是一個布爾表達式。
語法:
例如:
內置函數 len 返回序列包含的元素個數,而 min 和 max 分別返回序列中最小和最大的元素。
Python通用的序列操作有:索引、切片、乘法、成員資格檢查、長度、最小值和最大值。
Ⅱ python求最大值、最小值、求和、平均值
a=[1,2,3,4,5,6,7,8,9]
print('最大值:'+str(max(a)),'最小值:'+str(min(a)),'求和:'+str(sum(a)),'平均值:'+str(sum()/len(a)),sep='\n')
Ⅲ python中如何取一列數最大值
如果是從列表中找最大值,則可以使用max(),如:
In[279]:a=range(10)
In[280]:max(a)
Out[280]:9
如果是從數組找最大值,則可以使用numpy.max()函數,如:
In[281]:a=np.arange(10)
In[282]:a.max()
Out[282]:9
如果是一個二維數組,取某一列的最大值,則:
In[285]:a=np.arange(12).reshape(3,4)
In[286]:a
Out[286]:
array([[0,1,2,3],
[4,5,6,7],
[8,9,10,11]])
In[287]:a[2,:].max()
Out[287]:11
Ⅳ python編寫程序,利用元組作為函數的返回值,求系列類型的最大值、最小值和元素個數
1、首先,定義一個數組,初值為0。
7、運行程序,輸入三個一位整數,電腦會判斷出最小值和最大值。
Ⅳ Python如何計算序列長度
Python編程中可以差滲用啟稿len函數返回序列中所包含虛旁脊元素的數量長度、min函數和max函數返回序列中最大和最小的元素,代碼如下:
>>> numbers = [100, 34, 678]
>>> len(numbers)
3
>>> max(numbers)
678
>>> min(numbers)
34
>>> max(2, 3)
3
>>> min(9, 3, 2, 5)
2
Ⅵ Python如何計算序列長度
根據你之前的問題,假定你的數據符合這種格式:
>SeqName1
Seq1
>SeqName2
Seq2
...
這里不要求Seq1隻佔一行(即允許其中有換行符出現)。假如Seq總是只佔一行的話,其實就是奇數行是名字,偶數行是序列本體而已,讀取不要太簡單……
以下是簡單的實現。考慮到文件可能很大,使用迭代來逐個讀入數據。文件較小的情況可以使用列表表達式直接實現- -。
遍歷文件時的流程:
如當前行以'>'開始,將其存為k(序列名稱),直到發現下一個序列名稱為止的所有行,填入v(序列)。再次發現'>'開始的行時,將(k, v)存入字典,並將v清空。此外的是實現細節。注釋之後太啰嗦了,對哪裡有疑問請追問。
fileFa=open("SEQ.FASTA","r")
dic,k,v={},'',[]
foriinfileFa:
ifi.startswith('>'):
dic[k]=v
k=i[1:-1]
v=[]
else:
v.append(i)
dic[k]=v
dic.pop('')
print"%ssequencesintotal"%len(dic)
for(k,v)indic.items():
print("SEQUENCE:%s LENGTH:%s"%(k,sum(map(len,v))))
使用你上一問題提供的4個序列,輸出如下:
4sequencesintotal
SEQUENCE:qwe56_44514
LENGTH:98
SEQUENCE:qwe56_44606
LENGTH:82
SEQUENCE:qwe56_44424
LENGTH:43
SEQUENCE:qwe56_869
LENGTH:39
Ⅶ python求一組數組最大值,最小值,平均值
Python的數組就是列表。比如對列表ls=[1,2,3,4,5,6]來處理。
sum(ls)#返回列表總和
max(ls)#返回列表裡最大值
min(ls)#返回列表裡最小值
len(ls)#返回列表長度
sum(ls)/len(ls)#返回列表的平均值
(sum(ls)-max(ls)-min(ls))/(len(ls)-2)#返回比賽評分常用的規則,去掉一個最高分,去掉一個最低分,再求平均分。