>>edward=['EdwardGumby',42]序列還可以包含其他序列復制代碼代碼如下:>>>edward=['EdwardGumby',42]>>>john=['JohnSmith',50]>>>database=[edward,john]>>>database[['Edwa" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python入門篇之列表和元組

系統 1801 0

列表和元組的主要區別在于,列表可以修改,元組則不能。一般情況下,在幾乎所有的情況下列表都可以代替元組

例如:使用序列可以表示數據庫中一個人的信息(姓名,年齡)

復制代碼 代碼如下:

>>> edward=['Edward Gumby',42]

序列還可以包含其他序列

復制代碼 代碼如下:

>>> edward=['Edward Gumby',42]
>>> john=['John Smith',50]
>>> database=[edward,john]
>>> database
[['Edward Gumby', 42], ['John Smith', 50]]

通用序列操作
所有的序列操作都可以進行某些特定的操作。這些操作包括:索引、分片、加、乘以及檢查某個元素是否屬于序列的成員

索引

序列中的所有元素都是有編號的--從0開始遞增。這些元素可以通過編號分別訪問,如下:

復制代碼 代碼如下:

>>> greeting='hello'
>>> greeting[0]
'h'
>>> greeting[-1]
'o'
>>> 'hello'[1]
'e'

如果一個函數調用返回一個序列,那么可以直接對返回結果進行索引操作,例如:

復制代碼 代碼如下:

>>> fourth=raw_input('Year:')[3]
Year:2005
>>> fourth
'5'
?View Code
?

運行結果:

復制代碼 代碼如下:

>>>
Year: 1974
Month(1-12): 8
Day(1-31): 16
August 16th, 1974

分片

使用分片操作來訪問一定范圍內的元素,分片通過冒號相隔的兩個索引來實現:

復制代碼 代碼如下:

>>> tag=' Python web site '
>>> tag[9:30]
'http://www.python.org'
>>> tag[32:-4]
'Python web site'

第一個索引是需要提取部分的第一個元素的編號,而最后的索引則是分片之后剩下部分的第一個元素的編號

復制代碼 代碼如下:

>>> numbers=[1,2,3,4,5,6,7,8,9,10]
>>> numbers[3:6]
[4, 5, 6]
>>> numbers[0:1]
[1]

1、優雅的捷徑

訪問最后的三個元素,當然可以進行顯示的操作

復制代碼 代碼如下:

>>> numbers[7:10]
[8, 9, 10]
>>> numbers[-3:-1]
[8, 9]
>>> numbers[-3:0]
[]
>>> numbers[-3:]
[8, 9, 10]

只有最后一個分片完成任務,這種方法同樣適用序列開始的元素:

復制代碼 代碼如下:

>>> numbers[:3]
[1, 2, 3]

實際上,如果需要復制整個序列,可以將兩個索引都置空:

復制代碼 代碼如下:

>>> numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2、更大的步長

分片還有第三個參數--步長,通常都是隱式設置的,在一般情況下,步長是1,不能為0,但是可以為負數,即從右往左提取元素

?測試代碼
序列相加

通過使用加號可以進行序列的連接操作:

復制代碼 代碼如下:

>>> [1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
>>> 'hello.'+'world!'
'hello.world!'
>>> [1,2,3]+'world!'

Traceback (most recent call last):
? File " ", line 1, in
??? [1,2,3]+'world!'
TypeError: can only concatenate list (not "str") to list

乘法

用數字x乘以一個序列會生成新的序列,而在新的序列中,原來的序列將被重復x次

復制代碼 代碼如下:

>>> 'python'*5
'pythonpythonpythonpythonpython'
>>> [42]*10
[42, 42, 42, 42, 42, 42, 42, 42, 42, 42]

成員資格

為了檢查一個值是否在序列中,可以使用in運算符,該運算符返回布爾值

復制代碼 代碼如下:

>>> permissions='rw'
>>> 'w'in permissions
True
>>> 'x'in permissions
False
Enter your name: mlh
True
>>> subject='$$$ Get rich now!!! $$$'
>>> '$$$'in subject
True

長度、最小值和最大值

內建函數len、min、max,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

list函數

list函數可以根據字符串創建列表

復制代碼 代碼如下:

>>> list('hello')
['h', 'e', 'l', 'l', 'o']

基本列表操作:
1、改變列表:元素賦值

使用索引標記來為某個特定的、位置明確的元素賦值:

復制代碼 代碼如下:

>>> x=[1,1,1]
>>> x[1]=2
>>> x
[1, 2, 1]

2、刪除元素

使用del語句來實現:

復制代碼 代碼如下:

>>> names=['Alice','Beth','Ceil','Dee-Dee','Earl']
>>> del names[2]
>>> names
['Alice', 'Beth', 'Dee-Dee', 'Earl']

注意:Cecil是徹底刪除,列表長度也從5變為4

3、分片賦值

?View Code
列表方法:

方法是一個與某些對象有緊密聯系的函數,對象可能是列表、數字,也可能是字符串或者其他類型的對象,方法的調用方式:對象.方法(參數)

1、append

append方法用于在列表末尾追加新的對象:

復制代碼 代碼如下:

>>> lst=[1,2,3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]

2、cout

count方法用于統計某個元素在列表中出現的次數:

復制代碼 代碼如下:

>>> ['to','be','or','not','to','be'].count('to')
2
>>> x=[[1,2],1,1,[2,1,[1,2]]]
>>> x.count(1)
2
>>> x.count([1,2])
1

3、extend

extend方法可以在列表的末尾一次性的追加另一個序列中的多個值

復制代碼 代碼如下:

>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>> #區別連接操作
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a+b
[1, 2, 3, 4, 5, 6]
>>> a
[1, 2, 3]

4、index

index方法用于從列表中找出某一個匹配項的索引位置:

復制代碼 代碼如下:

>>> knights=['we','are','the','knigths','who','say','ni']
>>> knights.index('who')
4
>>> knights=['we','are','the','knigths','who','say','ni']
>>> knights.index('herring')

Traceback (most recent call last):
? File " ", line 1, in
??? knights.index('herring')
ValueError: 'herring' is not in list

沒有成功找到會引發異常

?5、insert

insert方法用于將對象插入到列表中:

復制代碼 代碼如下:

>>> numbers=[1,2,3,5,6,7]
>>> numbers.insert(3,'four')
>>> numbers
[1, 2, 3, 'four', 5, 6, 7]
>>> #extend方法一樣,insert方法的操作也可以用分片賦值來實現
>>> numbers=[1,2,3,5,6,7]
>>> numbers[3:3]=['four']
>>> numbers
[1, 2, 3, 'four', 5, 6, 7]

6、pop

pop方法會移除列表中的一個元素(默認是最后一個),并且返回該元素的值:

復制代碼 代碼如下:

>>> x=[1,2,3]
>>> x.pop()
3
>>> x
[1, 2]
>>> x.pop(0)
1
>>> x
[2]

注意:pop方法是唯一一個既能修改列表又返回元素值(除了None)的列表方法

7、remove

remove方法用于移除列表中某個值的第一個匹配項:

復制代碼 代碼如下:

>>> x=['to','be','or','not','to','be']
>>> x.remove('be')
>>> x
['to', 'or', 'not', 'to', 'be']
>>> x.remove('bee')

Traceback (most recent call last):
? File " ", line 1, in
??? x.remove('bee')
ValueError: list.remove(x): x not in list

8、reverse

reverse方法將列表中的元素反向存放,該方法也改變了列表但不返回值

復制代碼 代碼如下:

>>> x=[1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]
9、sort

sort方法用于在原位置對列表進行排序,改變原來的列表,從而讓其中的元素按照一定的

復制代碼 代碼如下:

>>> x=[4,6,2,1,7,9]
>>> x.sort()
>>> x
[1, 2, 4, 6, 7, 9]

?元組
元組與列表一樣,也是一種序列,唯一不同的是元組不可以修改:

任意對象的有序集合
通過偏移存儲
屬于不可變序列類型
固定長度、異構、任意嵌套
對象引用數組
使用逗號分隔了一些值,就自動創建了一個元組:

復制代碼 代碼如下:

>>> 1,2,3
(1, 2, 3)
>>> ()
()
>>> 42
42
>>> 42,
(42,)
>>> (42,)
(42,)

元組也是(大部分時候是)通過圓括號括起來的,空元組可以用沒有包含內容的兩個圓括號來表示:

tuple函數

tuple函數的功能和list函數基本上是一樣的:以一個序列作為參數并把它轉換為元組。

復制代碼 代碼如下:

>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')
>>> tuple((1,2,3))
(1, 2, 3)

列表與元組的相互轉化:

復制代碼 代碼如下:

>>> T=('cc','aa','dd','bb')
>>> tmp=list(T)
>>> tmp
['cc', 'aa', 'dd', 'bb']
>>> T=tuple(tmp)
>>> T
('cc', 'aa', 'dd', 'bb')


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 69欧美另类xxxxx高清 | 国产爆操| 女人十八毛片免费特黄 | 豆国产97在线 | 亚洲 | 青青青在线观看免费视频精品 | 波多野结衣一二三区 | 99久久精品免费看国产免费 | 久久成人综合 | 在线成人爽a毛片免费软件 在线成人天天鲁夜啪视频 在线成人亚洲 | 久久婷婷一区二区三区 | 国产精品日韩欧美 | 成人国产精品一级毛片视频 | 精品一区二区三区的国产在线观看 | 国产成人精品久久 | 麻豆精品久久精品色综合 | 日本b站一卡二不卡 | 成人影视在线观看 | 视频黄在线观看 | 日日操夜夜操免费视频 | 精品国产高清自在线一区二区三区 | 狠狠操狠狠 | 国产一区二区精品久 | 日韩一区二区三区在线 | 91手机看片国产福利精品 | 免费人成在线观看69式小视频 | 中文一级国产特级毛片视频 | 热久久国产欧美一区二区精品 | 日韩亚射 | 成人亚洲视频在线观看 | 国产成人99 | 草莓视频一区二区精品 | 精品国产一区二区在线观看 | 国产高清一区 | 伊人久久大香线蕉综合bd高清 | 曰本lesxxxx在线观看视频 | 久久精品欧美一区二区 | 欧美成人se01短视频在线看 | 亚洲欧洲国产精品 | 国产精品亚洲精品观看不卡 | 国产一区二区三区四区在线观看 | 综合国产 |