python 輸出所有大小寫字母, range()以及列表切片

來源:互聯網
上載者:User

標籤:列表   word   整理   print   []   cli   預設   start   comment   

 

所以在寫的時候,只要把它們的ASCII列出,並轉化成字元型chr 即可。

print [chr(i) for i in range(65,91)]#所有大寫字母print [chr(i) for i in range(97,123)]#所有小寫字母print [chr(i) for i in range(48,58)]#所有數字

還有一種方法,就是使用python中字串方法string模組。

#-*- coding:utf-8 -*-import string #匯入string這個模組print string.digits  #輸出包含數字0~9的字串print string.letters  #包含所有字母(大寫或小寫)的字串print string.lowercase #包含所有小寫字母的字串print string.uppercase  #包含所有大寫字母的字串print string.punctuation #包含所有標點的字串print string.ascii_letters #與string.letters一樣

輸出:

0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&‘()*+,-./:;<=>[email protected][\]^_`{|}~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ





range()以及列表切片

range()函數配合迴圈一塊使用很方便,今天來整理一下這個函數的主要用法,以及幾個小例子

首先來看一下函數原型,非常簡單: 
range(start,end [,step]) 
或者連start都省略掉: 
range(end)

其中,start表示開始點,end表示結束點,真正結束的位置是end的前一個值,step表示步長。 
例如:

print(list(range(1,5)))#list函數是將range的值列表化,這時候的輸出為 1,2,3,4 (沒有5!即不包括最後一個end的值)print(list(range(1,5,2)))#輸出結果是 [1, 3] ,步長為2,而且小於5

如果只傳入一個參數:

print(list(range(5)))#輸出結果是 [0, 1, 2, 3, 4] ,這時候預設從0開始

rang的這些使用,我們可以同列表的遍曆結合起來,比如對一個列表進行遍曆訪問:

#首先我用一個range產生一個列表,其中包含0~9 10個元素list1 =list(range(10))# #使用range的方式進行遍曆:for i in range(len(list1)):    print(list1[i])#當然這種情況我們一般都是直接使用 for value in list1 就可以了#如果使用切片,訪問列表的一部分for i in range(int(len(list1)/2)):    print(list1[i])#這樣我們就可以得到列表中前一半元素,其他部分同理

有的時候我們還會用到一個列表的逆序,使用range可以這樣:

list1 =list(range(10))for i in range(len(list1)-1,0,-1):    print(list1[i])#注意這個地方開始的位置是len-1,因為我們使用的列表的下標,其實這裡的使用與C語言是一致的,步長設定為-1#就相當於我們在for迴圈的 i--了

使用迴圈的方式,我們可以在每次迴圈中對資料進行一些操作,但是如果僅僅是得到這些資料,我們可以利用列表的切片slide來做,切片的方式非常靈活,例如比較簡單的:

list1 =list(range(10))print(list1[:])# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(list1[3:])# [3, 4, 5, 6, 7, 8, 9]print(list1[3:5])# [3, 4]print(list1[1:5:2])# [1, 3]

從這裡我們可以看出切片的使用方式與range大同小異,都是三個參數,分別控制開始,結束以及步長,在range中我們可以使用 -1 ,那麼同理,在切片中,同樣如此,對於每一個清單項目,不僅僅有一個正向的序號,還有一個反向的序號,最後一個元素可以使用list1[-1]來表示,倒數第二個元素就是list1[-2]….:

print(list1[1:-1])# 這裡表示從第一個元素到最後一個元素
  • 1
  • 2

如果逆序輸出的話:

print(list1[-1::-1])#或者簡記為:print(list1[::-1])
  • 1
  • 2
  • 3

接下來是我之前遇到的一個問題,如何在一個列表中儲存A-Z或者Z-A?

list2 = []for i in range(ord(‘A‘),ord(‘A‘)+26):    list2.append(chr(i))print(list2)list3 = [chr(ord(‘A‘)+x) for x in range(26)]print(list3)

這兩種方法都可以產生一個包含A-Z的列表,對於這個問題,如果使用過其他語言,首先可能會使用int(‘A’)擷取A的ASCII,但是在Python中卻會報錯,因為這裡int()函數是預設基與十進位的,對於字母轉化為數字,有函數ord可以使用,有字母轉化回ASCII則可以使用chr()函數,第二種方式是使用了列表產生式的方式,寫起來比較簡單,除了這些方法之外,還可以使用map()函數對列表的每一個值進行處理,在此不再介紹。 
end~

  
 

python 輸出所有大小寫字母, range()以及列表切片

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.