乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      初識Python(三)

       四兩哥 2011-08-24

      數(shù)據(jù)結構

      數(shù)據(jù)結構基本上就是——它們是可以處理一些 數(shù)據(jù) 的 結構 。或者說,它們是用來存儲一組相關數(shù)據(jù)的。

      在Python中有三種內建的數(shù)據(jù)結構——列表、元組和字典。我們將會學習如何使用它們,以及它們如何使編程變得簡單。

      列表

      list是處理一組有序項目的數(shù)據(jù)結構,即你可以在一個列表中存儲一個 序列 的項目。假想你有一個購物列表,上面記載著你要買的東西,你就容易理解列表了。只不過在你的購物表上,可能每樣東西都獨自占有一行,而在Python中,你在每個項目之間用逗號分割。

      列表中的項目應該包括在方括號中,這樣Python就知道你是在指明一個列表。一旦你創(chuàng)建了一個列表,你可以添加、刪除或是搜索列表中的項目。由于你可以增加或刪除項目,我們說列表是 可變的 數(shù)據(jù)類型,即這種類型是可以被改變的。

      列表是使用對象和類的一個例子。

      類也有方法,即僅僅為類而定義地函數(shù)。僅僅在你有一個該類的對象的時候,你才可以使用這些功能。例如,Python為list類提供了append方法,這個方法讓你在列表尾添加一個項目。例如mylist.append('an item')列表mylist中增加那個字符串。

      類也有,它是僅僅為類而定義的變量。僅僅在你有一個該類的對象的時候,你才可以使用這些變量/名稱。類也通過點號使用,例如mylist.field。

      >>> mylist=['apple','mango','banana']

      >>> for i in mylist:

      print i

      apple

      mango

      banana

      >>> mylist.append('rice')

      >>> print mylist[3]

      rice

      >>> del mylist[1]  我們使用del語句為我們從列表中刪除它

      >>> for i in mylist:

      print i

      apple

      banana

      rice

      >>> mylist.sort() 列表的sort方法對列表排序,這個方法影響列表本身而不是返回一個修改后的列表,這就是我們所說的列表是可變的而字符串是不可變的

      >>> for i in mylist:

      print i

      apple

      banana

      rice

      如果你想要知道列表對象定義的所有方法,可以通過help(list)獲得完整的知識。

      >>> help(list)

      Help on class list in module __builtin__:

      元組

      元組和列表十分類似,只不過元組和字符串一樣是 不可變的 即你不能修改元組。元組通過圓括號中用逗號分割的項目定義。

      >>> zoo=('1','2','3')

      >>> new_zoo=(zoo,'4','5')

      >>> print len(new_zoo)

      3

      >>> print new_zoo

      (('1', '2', '3'), '4', '5')

      >>> print zoo[2]

      3

      >>> print new_zoo[0][1]

      2

      含有0個或1個項目的元組。一個空的元組由一對空的圓括號組成,如myempty = ()。然而,含有單個元素的元組就不那么簡單了。你必須在第一個(唯一一個)項目后跟一個逗號,這樣Python才能區(qū)分元組和表達式中一個帶圓括號的對象。即如果你想要的是一個包含項目2的元組的時候,你應該指明singleton = (2 , )。

      元組最通常的用法是用在打印語句中,下面是一個例子:

      >>> name='michael'

      >>> age=12

      >>> print '%s\'s age is %d'%(name,age)

      michael's age is 12

      print語句可以使用跟著%符號的項目元組的字符串。這些字符串具備定制的功能。定制讓輸出滿足某種特定的格式。定制可以是%s表示字符串或%d表示整數(shù)。元組必須按照相同的順序來對應這些定制。

      字典

      字典類似于你通過聯(lián)系人名字查找地址和聯(lián)系人詳細情況的地址簿,即,我們把(名字)和(詳細情況)聯(lián)系在一起。注意,鍵必須是唯一的,就像如果有兩個人恰巧同名的話,你無法找到正確的信息。

      注意,你只能使用不可變的對象(比如字符串)來作為字典的鍵

      鍵值對在字典中以這樣的方式標記:d = {key1 : value1, key2 : value2 }

      字典是dict類的實例/對象

      >>> contact={'liu':'33','xue':'22','wang':'44'}

      >>> print "liu's age is",contact['liu']

      liu's age is 33

      >>> contact['li']='55'     添加一個鍵值對

      >>> del contact['xue']     刪除一個鍵值對

      >>> for name,age in contact.items():  字典的items方法會返回一個元組的列表,其中每個元組都包含一對項目——鍵與對應的值

      print "%s is %s"%(name,age)

      liu is 33

      li is 55

      wang is 44

      我們可以使用in操作符來檢驗一個鍵/值對是否存在,或者使用dict類的has_key方法。

      >>> if 'liu' in contact:

      print "liu is",contact['liu']

      liu is 33

      序列

      列表、元組和字符串都是序列,但是序列是什么,它們?yōu)槭裁慈绱颂貏e呢?序列的兩個主要特點是索引操作符和切片操作符。索引操作符讓我們可以從序列中抓取一個特定項目。切片操作符讓我們能夠獲取序列的一個切片,即一部分序列。

      索引同樣可以是負數(shù),在那樣的情況下,位置是從序列尾開始計算的。因此,shoplist[-1]表示序列的最后一個元素而shoplist[-2]抓取序列的倒數(shù)第二個項目。

      >>> shoplist=['apple','mango','carrot','banana']

      >>> print shoplist[-1]

      banana

      >>> print shoplist[-2]

      carrot

      切片操作符是序列名后跟一個方括號,方括號中有一對可選的數(shù)字,并用冒號分割。注意這與你使用的索引操作符十分相似。記住數(shù)是可選的,而冒號是必須的。

      切片操作符中的第一個數(shù)(冒號之前)表示切片開始的位置,第二個數(shù)(冒號之后)表示切片到哪里結束。如果不指定第一個數(shù),Python就從序列首開始。如果沒有指定第二個數(shù),則Python會停止在序列尾。注意,返回的序列從開始位置 開始 ,剛好在 結束 位置之前結束。即開始位置是包含在序列切片中的,而結束位置被排斥在切片外。

      >>> print shoplist[:]    shoplist[:]返回整個序列的拷貝。

      ['apple', 'mango', 'carrot', 'banana']

      >>> print shoplist[1:3]

      ['mango', 'carrot']

      你可以用負數(shù)做切片。負數(shù)用在從序列尾開始計算的位置。例如,shoplist[:-1]會返回除了最后一個項目外包含所有項目的序列切片。

      >>> print shoplist[:-1]

      ['apple', 'mango', 'carrot']

      同樣可以操作與字符串

      >>> name='abcdefg'

      >>> print name[:-1]

      abcdef

      參考

      當你創(chuàng)建一個對象并給它賦一個變量的時候,這個變量僅僅 參考 那個對象,而不是表示這個對象本身!也就是說,變量名指向你計算機中存儲那個對象的內存。這被稱作名稱到對象的綁定。

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

      >>> b=a

      >>> del a[0]

      >>> print a

      [2, 3, 4]

      >>> print b

      [2, 3, 4]

      >>> b=a[:-1]   列表的賦值語句不創(chuàng)建拷貝。你得使用切片操作符來建立序列的拷貝。

      >>> print b

      [2, 3]

      更多字符串的內容

      字符串也是對象,同樣具有方法。這些方法可以完成包括檢驗一部分字符串和去除空格在內的各種工作。字符串都是str類的對象 help(str)

      >>> str='abcdefgh'

      >>> if str.startswith('abc'):

      print 'yes'

      yes

      >>> if str.find('cd')!=-1:

      print 'yes'

      yes

      >>> if 'h' in str:

      print 'yes'

      str類也有以一個作為分隔符的字符串join字符串序列的項目的整潔的方法,它返回一個生成的大字符串。

      >>> delimiter='|'

      >>> list=['1','2','3','4']

      >>> delimiter.join(list)

      '1|2|3|4'

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多