Python學習 Day 3 字串 編碼 list tuple 迴圈 dict set

來源:互聯網
上載者:User

標籤:

字串和編碼

字元

ASCII

Unicode

UTF-8

A

1000001

00000000 01000001

1000001

x

01001110 00101101

11100100 10111000 10101101

格式化

在Python中,採用的格式化方式和C語言是一致的,用%實現,舉例如下:

>>> ‘Hello, %s‘ % ‘world‘

‘Hello, world‘

>>> ‘Hi, %s, you have $%d.‘ % (‘Michael‘, 1000000)

‘Hi, Michael, you have $1000000.‘

%運算子就是用來格式化字串的。在字串內部,%s表示用字串替換,%d表示用整數替換,有幾個%?預留位置,後面就跟幾個變數或者值,順序要對應好。如果只有一個%?,括弧可以省略。常見的預留位置有:

%d

整數

%f

浮點數

%s

字串

%x

十六進位整數

其中,格式化整數和浮點數還可以指定是否補0和整數與小數的位元:

>>> ‘%2d-%02d‘ % (3, 1)

‘ 3-01‘

>>> ‘%.2f‘ % 3.1415926

‘3.14‘

%s永遠起作用,它會把任何資料類型轉換為字串:

>>> ‘Age: %s. Gender: %s‘ % (25, True)

‘Age: 25. Gender: True‘

對於Unicode字串,用法完全一樣,但最好確保替換的字串也是Unicode字串:

>>> u‘Hi, %s‘ % u‘Michael‘

u‘Hi, Michael‘

字串裡面的%是一個一般字元時,需要轉義,用%%來表示一個%

Python內建的一種資料類型是列表:

List

list是一種有序的集合,可以隨時添加和刪除其中的元素。

>>>classmates=[‘michael‘,‘bob‘,‘tracy‘]

>>> classmates

[‘michael‘, ‘bob‘, ‘tracy‘]

>>>len(classmates)#獲得list元素的個數

3

>>> classmates[0]#用索引來訪問list中每一個位置的元素,從0開始

‘michael‘

>>> classmates[-1]

‘tracy‘

>>> classmates[3]#索引超出了範圍報錯

Traceback (most recent calllast):

File "<pyshell#11>", line 1,in <module>

classmates[3]

IndexError: list index outof range

>>> classmates[-2]

‘bob‘

>>>classmates.append(‘adam‘)#list中追加元素到末尾

>>> classmates

[‘michael‘, ‘bob‘, ‘tracy‘,‘adam‘]

>>>classmates.insert(1,‘jack‘)#把元素插入到指定的位置

>>> classmates

[‘michael‘, ‘jack‘, ‘bob‘,‘tracy‘, ‘adam‘]

>>>classmates.pop()#刪除list末尾的元素

‘adam‘

>>>classmates.pop(1)#賦值給對應的索引位置

‘jack‘

>>> classmates

[‘michael‘, ‘bob‘, ‘tracy‘]

>>>classmates[1]=‘sarah‘#把某個元素替換成別的元素

>>> classmates

[‘michael‘, ‘sarah‘,‘tracy‘]

>>> L = [‘Apple‘,123, True]#元素的資料類型也可以不同

>>> s = [‘python‘,‘java‘, [‘asp‘, ‘php‘], ‘scheme‘]#元素也可以是另一個list

tuple

元組和list類似,但是元組一旦初始化就不能修改

>>> classmates =(‘Michael‘, ‘Bob‘, ‘Tracy‘)

>>> t = (1,)#只有1個元素時必須加一個逗號

特例,“可變的”tuple

>>> t = (‘a‘, ‘b‘,[‘A‘, ‘B‘])

>>> t[2][0] = ‘X‘

>>> t[2][1] = ‘Y‘

>>> t

(‘a‘, ‘b‘, [‘X‘, ‘Y‘])

條件判斷

age =3

ifage >= 18:# 如果if判斷是False,不執行if的內容,執行else

print ‘your age is‘, age

print ‘adult‘

else:

print ‘your age is‘, age

print ‘teenager‘

if語句執行是從上往下判斷,如果在某個判斷上是True,把該判斷對應的語句執行後,就忽略掉剩下的elif和else

if <條件判斷1>:

<執行1>

elif <條件判斷2>:

<執行2>

elif <條件判斷3>:

<執行3>

else:

<執行4>

迴圈

for...in迴圈

names= [‘Michael‘, ‘Bob‘, ‘Tracy‘]

forname in names:

print name

 

sum =0

for xin range(101):

sum = sum + x

printsum

while迴圈

sum =0

n =99

whilen > 0:

sum = sum + n

n = n - 2

printsum

dict

dict的key必須是不可變對象。list是可變的,就不能作為key。

 

>>> d = {‘Michael‘: 95, ‘Bob‘: 75,‘Tracy‘: 85}

>>> d[‘Michael‘]

95

和list比較,dict有以下幾個特點:

尋找和插入的速度極快,不會隨著key的增加而增加;

需要佔用大量的記憶體,記憶體浪費多。

而list相反:

尋找和插入的時間隨著元素的增加而增加;

佔用空間小,浪費記憶體很少。

set

set和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。

要建立一個set,需要提供一個list作為輸入集合:

>>> s = set([1, 2, 3])

>>> s

set([1, 2, 3])

>>> s = set([1, 1, 2, 2, 3, 3])#需要list作為輸入集合

>>> s

set([1, 2, 3])#重複元素在set中自動被過濾

>>> s.add(4)#添加元素到set中

>>> s

set([1, 2, 3, 4])

>>> s.add(4)

>>> s

set([1, 2, 3, 4])

>>> s.remove(4)#刪除元素

>>> s

set([1, 2, 3])

>>> s1 = set([1, 2, 3])

>>> s2 = set([2, 3, 4])

>>> s1 & s2#交集

set([2, 3])

>>> s1 | s2#並集

set([1, 2, 3, 4])

set和dict的唯一區別僅在於沒有儲存對應的value,但是,set的原理和dict一樣,所以,同樣不可以放入可變對象,因為無法判斷兩個可變對象是否相等,也就無法保證set內部“不會有重複元素”。

歡迎關注

Python學習 Day 3 字串 編碼 list tuple 迴圈 dict set

相關文章

聯繫我們

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