Python學習_03_列表、元組、字串

來源:互聯網
上載者:User

標籤:

列表、元組、字串這些通過順序訪問的對象統稱為序列。

序列的標準操作符

對於一般的序列對象,包括列表、元組、字串,都具有以下的標準操作:

1. element [not] in seq判斷一個元素是否屬於一個序列,返回一個布爾值;

2. seq[ind] 獲得下標為ind的元素

3. seq[ind1:ind2:step] 獲得一個切片,從ind1到ind2,步長為step的元素組成的新的序列,步長為負值來表示從尾端開始;

4.seq1 + seq2 串連兩個序列;

5.seq * expr 序列重複expr次;

序列的索引從0開始,也可以用-n來表示最後第n個元素。

特殊的,對於None值,如果進行切片操作,返回原序列。Python中的None值有些奇怪,他並不表示空,而且具有自己的類型NoneType,且該類無法被執行個體化(應該是執行了類似於添加NoneType的單件類,並且修改了new方法的操作)。

同時序列也提供內建函數,如各種轉換函式(工廠函數),以及一些可操作函數:enumerate(iter),len(seq),reversed(seq)等等

序列的內建函數

1 cmp():比較第一個參數是否大於第二個,字串去ascall碼

2 len():返回序列中元素的個數

3 max()、min():返回最大值、最小值

4 enumerate():返回一個enumerate對象,儲存每個元素的位置和值的資料對,用於迴圈:

for i,t in enumerate(s):

? ? print i,t

5 sorted():

sorted()函數可以對傳入的列表進行排序,只要類具有__cmp__()方法,都可以使用sorted()方法;並且可以傳入一個參數,用來替代預設的__cmp__()方法,從而定製自己的定序:

def cmp_ignore(x,y):
? ? if x.upper() > y.upper():
? ? ? ? return 1
? ? elif x.upper() < y.upper():
? ? ? ? return -1
? ? else :
? ? ? ? return 0
print sorted(["aasdDEAD","BD","Abcd"])
print sorted(["aasdDEAD","BD","Abcd"],cmp_ignore)

若對字串進行sorted()方法,則返回按ascall碼排序後的結果

6 reversed():返回翻轉後的列表

?

字串

除了具有序列的一半特性之外,字串還具有一些特殊的性質。

1格式化操作符% : format_string % arguments_to_convert,一般的格式和c語言中printf()類似,但是具有新的特性:字典型別參數,如?‘This is %(name)s‘ % {‘name‘:‘Lyon’} 。

2 字串模板:對字典型別參數的格式化進行封裝,而且不需要再指定輸出的類型,而採用形如shell、perl中的$符號來表示需要填充的參數,就是字串模板:Template,Template具有兩個方法:substitute()和safe_substitute(),前者當缺少參數時會報錯,而後者則會將字串原封不動地顯示出來:

3 原始字串操作符:

r/R:所有的字串都將不進行轉義、插值等操作,而是原始字串 : r’\n‘

4 unicode字串操作符:u’abc’ 表示將abc分別用unicode編碼錶示 , u’\u1234‘表示unicode編碼為1234,python3之後為預設

5 三引號:’’’ :三引號中可以包含斷行符號換行等特殊字元

6 字串特有內建函數:

string.capitalize()表示首字母大寫,其他小寫;string.lower(),改為小寫;sting.upper(),改為大寫;string.title(),所有的單詞都是以大寫開頭,其餘小寫;string.split(str=“”),以str為分隔字元切分等等;

7 字串和其他順序訪問類型不同,字串不是容器,而是值,不可改變

列表

1 建立列表 :

a = [0,1, 2, 3, 4]

a = range(5)

a = [0 for x in range(5)] ? ## [0,0,0,0,0]

2 內建函數:

sum():返回列表值的和,相當於reduce(operator.add,list)

reduce():對傳入的列表按照傳入的函數兩兩計算,如reduce(operator.add,[1,2,3,4]),則先算1+2,再將結果+3,再將結果+4,依次類推,如果加上第三個選擇性參數可以指定初始值

list.append(obj):向列表中添加一個對象obj

list.count(obj):統計obj出現次數

list.extend(seq):將seq內容添加到list中

list.index(obj,i=0;j=len(list)):返回obj在list中的位置

list.insert(index,obj),在index處插入obj

list.pop(index=-1):刪除並返回指定位置的對象,預設為最後一個

list.remove(obj),刪除對象

區別sort()、sorted()、reverse()、reversed()、extend()、extended():是否改變調用者/數值調用還是引用調用

元組

元組是不可變的列表,和列表比較類似


Python學習_03_列表、元組、字串

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.