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

python基礎學習筆記(三)

系統 1755 0

python基礎學習筆記(三)

2013-04-18 00:22 ?蟲師 閱讀( ... ) 評論( ... ) 編輯 收藏

?

序列概覽

  Python? 包含 6? 種內建的序列,這里重點討論最常用的兩種類型:列表和元組。

  列表與元組的主要區別在于,列表可以修改,元組則不能。也就是說如果要根據要求來添加元素,那么列表可以會更好用;而出于某些原因,序列不能修改的時候,使用元組則更為合適。

在操作一組數值的時候,序列很好用??梢杂眯蛄斜硎緮祿熘幸粋€人的信息 --- 第一 1 是姓名,第 2 個元素是年齡。根據上述內容編寫一個列表。

                >>> hu=[
                
                  '
                
                
                  huhu
                
                
                  '
                
                ,25]
              

?

同時,序列也可以包含其他的序列,因此,構建如下一個人員的信息的列表也是可的,這個列表就是你的數據庫:

                >>> huhu = [
                
                  '
                
                
                  huhu
                
                
                  '
                
                ,25
                
                  ]

                
                >>> chongshi = [
                
                  '
                
                
                  chongshi
                
                
                  '
                
                ,32
                
                  ]

                
                >>> database =
                
                   [huhu,chongshi]

                
                >>>
                
                   database
[[
                
                
                  '
                
                
                  huhu
                
                
                  '
                
                , 25], [
                
                  '
                
                
                  chongshi
                
                
                  '
                
                , 32]]
              

?

?

通用序列操作

  所有序列類型都可以進行某些特定的操作。這些操作包括:索引( indexing )、分片( sliceing )、加( adding )、乘( multiplying )以及檢查某個元素是否屬于序列的成員(成員資格)。

?

索引

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

                >>> greeting = 
                
                  '
                
                
                  chongshi
                
                
                  '
                
                
>>>
                
                   greeting[0]

                
                
                  '
                
                
                  c
                
                
                  '
                
                
>>> greeting[2
                
                  ]

                
                
                  '
                
                
                  o
                
                
                  '
                
              

?

使用負數索引時, python? 會從右邊,也就是從最后 1 個元素開始計數。最后 1 個元素的位置編號是 -1? (不是 -0 ,?因為那會和第 1 個元素重合):

                >>> greeting = 
                
                  '
                
                
                  chongshi
                
                
                  '
                
                
>>> greeting[-1
                
                  ]

                
                
                  '
                
                
                  i
                
                
                  '
                
                
>>> greeting[-2
                
                  ]

                
                
                  '
                
                
                  h
                
                
                  '
                
              

?

當然,我們也可以通過另一種方式使用所引,兩種方式的效果是一樣的:

                >>> 
                
                  '
                
                
                  chongshi
                
                
                  '
                
                
                  [0]

                
                
                  '
                
                
                  c
                
                
                  '
                
                
>>> 
                
                  '
                
                
                  chongshi
                
                
                  '
                
                [-1
                
                  ]

                
                
                  '
                
                
                  i
                
                
                  '
                
              

?

如果一個函數調用返回一個序列,那么可以直接對返回結果進行索引操作。例如,假設只對用戶輸入年份的第 4 個數字感興趣,那么,可以進行如下操作:

                >>> fourth = raw_input(
                
                  '
                
                
                  year:
                
                
                  '
                
                )[3
                
                  ]
year:
                
                2013
>>>
                
                   fourth

                
                
                  '
                
                
                  3
                
                
                  '
                
              

提示:請試著敲擊代碼,更能助幫你理解。不要懶得動手。

?

索引示例:

                
                  #
                
                
                  根據給定的年月日以數字形式打印出日期
                
                
months =
                
                   [
    
                
                
                  '
                
                
                  January
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  February
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  March
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  April
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  May
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  June
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  July
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  August
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  September
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  October
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  November
                
                
                  '
                
                
                  ,
    
                
                
                  '
                
                
                  December
                
                
                  '
                
                
                  
    ]

                
                
                  #
                
                
                  以1-31的數字作為結尾的列表
                
                
endings = [
                
                  '
                
                
                  st
                
                
                  '
                
                ,
                
                  '
                
                
                  nd
                
                
                  '
                
                ,
                
                  '
                
                
                  rd
                
                
                  '
                
                ]+ 17*[
                
                  '
                
                
                  th
                
                
                  '
                
                
                  ]\
           
                
                +[
                
                  '
                
                
                  st
                
                
                  '
                
                ,
                
                  '
                
                
                  nd
                
                
                  '
                
                ,
                
                  '
                
                
                  rd
                
                
                  '
                
                ]+ 7*[
                
                  '
                
                
                  th
                
                
                  '
                
                
                  ]\
           
                
                +[
                
                  '
                
                
                  st
                
                
                  '
                
                
                  ]
year  
                
                =raw_input(
                
                  '
                
                
                  year:
                
                
                  '
                
                
                  )
month 
                
                =raw_input(
                
                  '
                
                
                  month(1-12):
                
                
                  '
                
                
                  )
day   
                
                =raw_input(
                
                  '
                
                
                  day(1-31)
                
                
                  '
                
                
                  )

month_number 
                
                =
                
                   int(month)
day_number 
                
                =
                
                   int(day)


                
                
                  #
                
                
                  記得要將月份和天數減1,以獲得正確的索引
                
                
month_name = months[month_number-1
                
                  ]
ordinal 
                
                = day + endings[day_number - 1
                
                  ]


                
                
                  print
                
                 month_name + 
                
                  '
                
                
                   ,
                
                
                  '
                
                 + ordinal + 
                
                  '
                
                
                   ,
                
                
                  '
                
                 +
                
                   year
-----------------------------------------------
輸入:

                
                >>>
                
                   
year:
                
                2013
                
                  
month(
                
                1-12):4
                
                  
day(
                
                1-31)14
                
                  
輸出:
April ,14th ,
                
                2013
              

?

分片

與使用索引來訪問單個元素類似,可以使用分片操作來訪問一琮范圍內的元素。分片通過冒號相隔的兩個索引來實現:

                >>> tag = 
                
                  '
                
                
                  
                    Python web site
                  
                
                
                  '
                
                
>>> tag[9:30]   
                
                  #
                
                
                   取第9個到第30個之間的字符
                
                
                  '
                
                
                  http://www.python.org
                
                
                  '
                
                
>>> tag[32:-4]   
                
                  #
                
                
                  取第32到第-4(倒著數第4個字符)
                
                
                  '
                
                
                  Python web site
                
                
                  '
                
                
>>> 
              

?

如果求 10 個數最后三個數:

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

                
                >>> numbers[7:-1]   
                
                  #
                
                
                   從第7個數到 倒數第一個數
                
                
[7, 8]              
                
                  #
                
                
                  顯然這樣不可行
                
                
>>> numbers[7:10]   
                
                  #
                
                
                  從第7個數到第10個數
                
                
[7, 8, 9]            
                
                  #
                
                
                  這樣可行,索引10指向的是第11個元素。
                
                
>>> numbers[7:]    
                
                  #
                
                
                   可以置空最后一個索引解決
                
                
[7, 8, 9
                
                  ]

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

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

?

分片示例:

                
                  #
                
                
                    對http://fnng.cnblogs.com形式的URL進行分割
                
                
                  
url 
                
                = raw_input(
                
                  '
                
                
                  Please enter the URL:
                
                
                  '
                
                
                  )
domain 
                
                = url[11:-4
                
                  ]


                
                
                  print
                
                
                  "
                
                
                  Domain name:
                
                
                  "
                
                 +
                
                   domain
------------------------------------------
                  
輸入:
>>> Please enter the URL:http: // fnng.cngblogs.com 輸出: Domain name:.cngblogs

?

更大步長:

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

                
                >>> numbers[0:10:1]   
                
                  #
                
                
                  求0到10之間的數,步長為1
                
                
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9
                
                  ]

                
                >>> numbers[0:10:2]   
                
                  #
                
                
                  步長為2
                
                
[0, 2, 4, 6, 8
                
                  ]

                
                >>> numbers[0:10:3]   
                
                  #
                
                
                  步長為3
                
                
[0, 3, 6, 9]
              

?

序列相加

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

                >>> 
                
                  '
                
                
                  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
                
              

?

正如錯誤提示,列表和字符串是無法連接接在一起的,盡管它他們都是序列。簡單來說,兩種相同類型的序列才能進行連接操作。

?

乘法

                >>> 
                
                  '
                
                
                  python 
                
                
                  '
                
                 * 5

                
                  '
                
                
                  python python python python python 
                
                
                  '
                
                
>>> [25] * 10
                
                  
[
                
                25, 25, 25, 25, 25, 25, 25, 25, 25, 25]
              

?

如果想創建一個占用十個元素空間,卻不包括任何有用的內容的列表,可以用 Nome

                >>> sequence = [None] * 10
>>>
                
                   sequence
[None, None, None, None, None, None, None, None, None, None]
                
              

?

序列(字符串)乘法示例:

                
                  #
                
                
                   以正確的寬度在居中的“盒子”內打印一個句子
                
                
                  #
                
                
                   注意,整數除法運算符(//)只能用在python 2.2 以及后續版本,在之前的版本中,只能用普通除法(/)
                
                
                  
sentence 
                
                = raw_input(
                
                  "
                
                
                  Sentence : 
                
                
                  "
                
                
                  )

screen_width 
                
                = 80
                
                  
text_width 
                
                =
                
                   len(sentence)
box_width 
                
                = text_width + 6
                
                  
left_margin 
                
                = (screen_width - box_width) //2


                
                  print
                
                
                  print
                
                
                  '
                
                
                  '
                
                 * left_margin + 
                
                  '
                
                
                  +
                
                
                  '
                
                 + 
                
                  '
                
                
                  -
                
                
                  '
                
                 * (box_width - 2)+ 
                
                  '
                
                
                  +
                
                
                  '
                
                
                  print
                
                
                  '
                
                
                  '
                
                 * left_margin + 
                
                  '
                
                
                  |  
                
                
                  '
                
                 + 
                
                  '
                
                
                  '
                
                 * text_width    + 
                
                  '
                
                
                    |
                
                
                  '
                
                
                  print
                
                
                  '
                
                
                  '
                
                 * left_margin + 
                
                  '
                
                
                  |  
                
                
                  '
                
                 +     sentence        + 
                
                  '
                
                
                    |
                
                
                  '
                
                
                  print
                
                
                  '
                
                
                  '
                
                 * left_margin + 
                
                  '
                
                
                  |  
                
                
                  '
                
                 + 
                
                  '
                
                
                  '
                
                 * text_width    + 
                
                  '
                
                
                    |
                
                
                  '
                
                
                  print
                
                
                  '
                
                
                  '
                
                 * left_margin + 
                
                  '
                
                
                  +
                
                
                  '
                
                 + 
                
                  '
                
                
                  -
                
                
                  '
                
                 * (box_width - 2)+ 
                
                  '
                
                
                  +
                
                
                  '
                
                
                  
---------------------------------------------------------
輸入:
>>> Sentence : haha! this is my box 輸出: +------------------------+ | | | haha! this is my box | | | +------------------------+

?

?

成員資格

?為了檢查一個值是否在序列中,可以使用 in? 運算符。該運算符和之前已經討論過的(例如? +? ,? *? 運算符)有一點不同。這個運算符檢查某個條件為真或假的( True?or?False? )。

in 運算符的例子:

                >>> permissions = 
                
                  '
                
                
                  rw
                
                
                  '
                
                
>>> 
                
                  '
                
                
                  w
                
                
                  '
                
                
                  in
                
                
                   permissions
True

                
                >>> 
                
                  '
                
                
                  y
                
                
                  '
                
                
                  in
                
                
                   permissions
False

                
                >>> users = [
                
                  '
                
                
                  zhangsan
                
                
                  '
                
                , 
                
                  '
                
                
                  lisi
                
                
                  '
                
                ,
                
                  '
                
                
                  wangwu
                
                
                  '
                
                
                  ]

                
                >>> raw_input(
                
                  '
                
                
                  Enter your user name: 
                
                
                  '
                
                ) 
                
                  in
                
                
                   users
Enter your user name: lisi
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
              

?

?

----------------

都是零零碎碎的東西,沒什么難度,打python shell敲擊一下就理解是什么意思了。


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 污宅男666在线永久免费观看 | 国产特级毛片aaaaaa高清 | 久久尹人香蕉国产免费天天 | 久久99国产一区二区三区 | 成人免费久久精品国产片久久影院 | 麻豆日韩 | 鲁丝一区二区三区不属 | 在线一级毛片 | 久操免费在线观看 | 东北一级毛片 | 欧美freesex10一|3 | 亚洲精品在线观看视频 | 国产精品第九页 | 思思91精品国产综合在线 | 精品欧美成人bd高清在线观看 | 欧美精品v欧洲精品 | 亚洲久久草 | 久久精品中文字幕不卡一二区 | 国产极品嫩模在线观看91精品 | 亚洲成人视屏 | 国产精品免费观看视频 | 在线观看久草视频 | 欧美成人在线免费观看 | 97精品视频| 久久久久久久久毛片精品 | 成年女人免费视频 | 国产亚洲综合久久 | 精品自拍视频在线观看 | 热久久精品 | 91破解版在线 | 亚洲 | 高清在线精品一区二区 | 免费视频爱爱 | 日本一区毛片免费观看 | 九月婷婷亚洲综合在线 | 久久综合久久鬼色 | www.婷婷| 欧美xxx免费视频 | 影音先锋在线亚洲精品推荐 | 婷婷亚洲综合五月天在线 | 日本老年人精品久久中文字幕 | 999久久狠狠免费精品 |