欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python入門篇之列表和元組

 更新時(shí)間:2014年10月17日 11:00:09   投稿:hebedich  
Python包含6種內(nèi)建序列:列表、元組、字符串、Unicode字符串、buffer對(duì)象、xrange對(duì)象。本篇主要討論最常用的兩種類型:列表、元組

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

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

復(fù)制代碼 代碼如下:

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

序列還可以包含其他序列

復(fù)制代碼 代碼如下:

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

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

索引

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

復(fù)制代碼 代碼如下:

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

如果一個(gè)函數(shù)調(diào)用返回一個(gè)序列,那么可以直接對(duì)返回結(jié)果進(jìn)行索引操作,例如:

復(fù)制代碼 代碼如下:

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

運(yùn)行結(jié)果:

復(fù)制代碼 代碼如下:

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

分片

使用分片操作來訪問一定范圍內(nèi)的元素,分片通過冒號(hào)相隔的兩個(gè)索引來實(shí)現(xiàn):

復(fù)制代碼 代碼如下:

第一個(gè)索引是需要提取部分的第一個(gè)元素的編號(hào),而最后的索引則是分片之后剩下部分的第一個(gè)元素的編號(hào)

復(fù)制代碼 代碼如下:

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

1、優(yōu)雅的捷徑

訪問最后的三個(gè)元素,當(dāng)然可以進(jìn)行顯示的操作

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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

實(shí)際上,如果需要復(fù)制整個(gè)序列,可以將兩個(gè)索引都置空:

復(fù)制代碼 代碼如下:

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

2、更大的步長

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

 測(cè)試代碼
序列相加

通過使用加號(hào)可以進(jìn)行序列的連接操作:

復(fù)制代碼 代碼如下:

>>> [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 "<pyshell#107>", line 1, in <module>
    [1,2,3]+'world!'
TypeError: can only concatenate list (not "str") to list

乘法

用數(shù)字x乘以一個(gè)序列會(huì)生成新的序列,而在新的序列中,原來的序列將被重復(fù)x次

復(fù)制代碼 代碼如下:

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

成員資格

為了檢查一個(gè)值是否在序列中,可以使用in運(yùn)算符,該運(yùn)算符返回布爾值

復(fù)制代碼 代碼如下:

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

長度、最小值和最大值

內(nèi)建函數(shù)len、min、max,len函數(shù)返回序列中所包含元素的數(shù)量,min和max函數(shù)分別返回序列中最大和最小的元素

復(fù)制代碼 代碼如下:

>>> numbers=[100,34,678]
>>> len(numbers)
3
>>> max(numbers)
678
>>> min(numbers)
34
>>> max(2,3)
3
>>> min(9,3,2,5)
2

list函數(shù)

list函數(shù)可以根據(jù)字符串創(chuàng)建列表

復(fù)制代碼 代碼如下:

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

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

使用索引標(biāo)記來為某個(gè)特定的、位置明確的元素賦值:

復(fù)制代碼 代碼如下:

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

2、刪除元素

使用del語句來實(shí)現(xiàn):

復(fù)制代碼 代碼如下:

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

注意:Cecil是徹底刪除,列表長度也從5變?yōu)?

3、分片賦值

 View Code
列表方法:

方法是一個(gè)與某些對(duì)象有緊密聯(lián)系的函數(shù),對(duì)象可能是列表、數(shù)字,也可能是字符串或者其他類型的對(duì)象,方法的調(diào)用方式:對(duì)象.方法(參數(shù))

1、append

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

復(fù)制代碼 代碼如下:

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

2、cout

count方法用于統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù):

復(fù)制代碼 代碼如下:

>>> ['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方法可以在列表的末尾一次性的追加另一個(gè)序列中的多個(gè)值

復(fù)制代碼 代碼如下:

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

4、index

index方法用于從列表中找出某一個(gè)匹配項(xiàng)的索引位置:

復(fù)制代碼 代碼如下:

>>> 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 "<pyshell#184>", line 1, in <module>
    knights.index('herring')
ValueError: 'herring' is not in list

沒有成功找到會(huì)引發(fā)異常

 5、insert

insert方法用于將對(duì)象插入到列表中:

復(fù)制代碼 代碼如下:

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

6、pop

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

復(fù)制代碼 代碼如下:

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

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

7、remove

remove方法用于移除列表中某個(gè)值的第一個(gè)匹配項(xiàng):

復(fù)制代碼 代碼如下:

>>> 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 "<pyshell#19>", line 1, in <module>
    x.remove('bee')
ValueError: list.remove(x): x not in list

8、reverse

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

復(fù)制代碼 代碼如下:

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

sort方法用于在原位置對(duì)列表進(jìn)行排序,改變?cè)瓉淼牧斜?,從而讓其中的元素按照一定?/p>

復(fù)制代碼 代碼如下:

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

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

任意對(duì)象的有序集合
通過偏移存儲(chǔ)
屬于不可變序列類型
固定長度、異構(gòu)、任意嵌套
對(duì)象引用數(shù)組
使用逗號(hào)分隔了一些值,就自動(dòng)創(chuàng)建了一個(gè)元組:

復(fù)制代碼 代碼如下:

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

元組也是(大部分時(shí)候是)通過圓括號(hào)括起來的,空元組可以用沒有包含內(nèi)容的兩個(gè)圓括號(hào)來表示:

tuple函數(shù)

tuple函數(shù)的功能和list函數(shù)基本上是一樣的:以一個(gè)序列作為參數(shù)并把它轉(zhuǎn)換為元組。

復(fù)制代碼 代碼如下:

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

列表與元組的相互轉(zhuǎn)化:

復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • Python處理Excel的14個(gè)常用操作總結(jié)

    Python處理Excel的14個(gè)常用操作總結(jié)

    在數(shù)據(jù)處理和分析的領(lǐng)域中,Excel是一種被廣泛使用的工具,然而,通過Python處理Excel,能夠更好地實(shí)現(xiàn)自動(dòng)化和批量處理,本文為大家整理了14個(gè)Python處理Excel的常用操作,希望對(duì)大家有所幫助
    2023-12-12
  • Pandas?DataFrame.drop()刪除數(shù)據(jù)的方法實(shí)例

    Pandas?DataFrame.drop()刪除數(shù)據(jù)的方法實(shí)例

    pandas作為數(shù)據(jù)分析強(qiáng)大的庫,是基于numpy數(shù)組構(gòu)建的,專門用來處理表格和混雜的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Pandas?DataFrame.drop()刪除數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Python‘==‘ 及 ‘is‘相關(guān)原理解析

    Python‘==‘ 及 ‘is‘相關(guān)原理解析

    這篇文章主要介紹了Python‘==‘ 及 ‘is‘相關(guān)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python處理json字符串轉(zhuǎn)化為字典的簡單實(shí)現(xiàn)

    Python處理json字符串轉(zhuǎn)化為字典的簡單實(shí)現(xiàn)

    下面小編就為大家?guī)硪黄狿ython處理json字符串轉(zhuǎn)化為字典的簡單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • python 實(shí)現(xiàn)端口掃描工具

    python 實(shí)現(xiàn)端口掃描工具

    這篇文章主要介紹了python 實(shí)現(xiàn)端口掃描工具的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Django通用類視圖實(shí)現(xiàn)忘記密碼重置密碼功能示例

    Django通用類視圖實(shí)現(xiàn)忘記密碼重置密碼功能示例

    今天小編就為大家分享一篇Django通用類視圖實(shí)現(xiàn)忘記密碼重置密碼功能示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 微信跳一跳自動(dòng)運(yùn)行python腳本

    微信跳一跳自動(dòng)運(yùn)行python腳本

    這篇文章主要為大家詳細(xì)介紹了微信小程序跳一跳自動(dòng)運(yùn)行腳本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Pycharm中配置遠(yuǎn)程Docker運(yùn)行環(huán)境的教程圖解

    Pycharm中配置遠(yuǎn)程Docker運(yùn)行環(huán)境的教程圖解

    這篇文章主要介紹了Pycharm中配置遠(yuǎn)程Docker運(yùn)行環(huán)境,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python實(shí)現(xiàn)canny邊緣檢測(cè)

    python實(shí)現(xiàn)canny邊緣檢測(cè)

    本文主要講解了canny邊緣檢測(cè)原理:計(jì)算梯度幅值和方向、根據(jù)角度對(duì)幅值進(jìn)行非極大值抑制、用雙閾值算法檢測(cè)和連接邊緣以及python 實(shí)現(xiàn)
    2020-09-09
  • 基于Python把網(wǎng)站域名解析成ip地址

    基于Python把網(wǎng)站域名解析成ip地址

    這篇文章主要介紹了基于Python把網(wǎng)站域名解析成ip地址,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論