python 2 字串和元組

2021-08-14 03:21:45 字數 3968 閱讀 6258

一 字串

1. 建立: 單引號, 雙引號, 三引號 (轉義字元: \', \", \n, \t)

2. 特性:

索引;切片: s[start:stop:step]

start預設值為0,stop預設值為字串長度,step預設值為1,步長

例如:s[1:4:2], s[::-1], s[:4], s[1:]

連線操作: +a+b

重複操作:*2*"a"    -------  aa

成員操作符(某成員在不在字串中): in, not in

3. 字串是可迭代物件,通過for實現迴圈;

4. 字串常用方法:

1). 判斷字串由什麼組成?    s.istitle判斷是否是乙個標題 s.isalnum判斷是否為數字或字母組成 s.isalpha判斷是否為字母 s.isdigit判斷是否為數字 s.islower判斷是否為小寫字母 s.isspace判斷是否為空格 s.istitle判斷首字母是否為大寫 s.isupper判斷是否是大寫字母

2). 判斷是否以什麼開頭,什麼結尾?  

3). 去除字串的左右的空格:(主要應用在有使用者輸入資料的地方)

s.strip(),s.lstrip(),s.rstrip(),s.replace(" ", "")

重點: s.replace方法也可以間接實現刪除某個字元;

4). 字串對齊格式化:左對齊, 右對齊, 中間對齊

s.center(40, "*")居中

s.ljust(40,"*")居左

s.rjust(40,"*")居右

5). 按照指定分隔符分離字串:(預設分隔符為空格)

ip = "172.25.254.250"

ip.split(".")        # ['172', '25', '254', '250']

6). 指定分隔符連線資訊

a = info.split()

"+".join(a)            # 'westos+10+company'

5. 內建方法(bif-built-in function)

cmp(比較acsll碼的大小), len(字串長度), max, min, 列舉enumerate, zip(s1,s2)把s1和s2對應起來

c語言中for迴圈的語法:

for(i=0;i<100,i++):

print i

python中for迴圈的語法:

for i in 可迭代的物件:

state1....

跳出for迴圈: break

跳出本次for迴圈: continue

第乙個可迭代的物件: range(start,stop,step)

二 元組(帶了緊箍咒的列表)tuple

概念:可以把元組看作乙個容器,任何資料型別都可以放在這個容器裡面;

元組的建立

通過賦值方式建立元組:t = (1, 1.0, 2j, true, (1,2,3))

通過工廠方法建立元組:t = tuple()定義單個元組,一定要在這個元素後面加逗號

t1 = (1,)

元組的操作

1)索引:

# 正向索引

print t[0]

# 反向索引

print t[-1]

2)切片:t[:2]

print t[:2]

逆轉元組元素

print t[::-1]

1. 企業發放的獎金根據利潤提成。利潤(i)低於或等於10萬元時,獎金可提10%;利潤高

於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提

成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於

40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於

100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤i,求應發放獎金總數?

2. 乙個整數,它加上100後是乙個完全平方數,再加上168又是乙個完全平方數,請問該數是多少?

第一種:

第一種比較麻煩,電腦計算量太大,計算較慢

第二種:

套用了math sqrt( )函式  -----  返回x的平方根

3. # (2017-小公尺-句子反轉)

- 題目描述:

> 給定乙個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有乙個空格,前後沒有空格。 比如: (1) 「hello xiao mi」-> 「mi xiao hello」

- 輸入描述:

> 輸入資料有多組,每組佔一行,包含乙個句子(句子長度小於1000個字元)

- 輸出描述:

> 對於每個測試示例,要求輸出句子中單詞反轉後形成的句子

- 示例1:

```- 輸入

hello xiao mi

- 輸出

4. # (2017-好未來-筆試程式設計題)--練習

- 題目描述:

輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入」they are students.」和」aeiou」,則刪除之後的第乙個字串變成」thy r stdnts.」

- 輸入描述:

每個測試輸入包含2個字串

- 輸出描述:

輸出刪除後的字串

- 示例1:

```輸入

they are students.

aeiou

輸出thy r stdnts.

第一種:

第二種:

方法一,字串strip() lstrip() rstrip() 去掉字串兩端字元

方法二,刪除單個位置的字元,可以使用切片 + 拼接的方式

方法三,字串的replace()方法或者正規表示式re.sub刪除任意位置字元

方法四,字串translate方法,可以同時刪除多種不同的字元

5. 小易喜歡的單詞具有以下特性:

1.單詞每個字母都是大寫字母

2.單詞沒有連續相等的字母。

- 輸入描述:

輸入為乙個字串,都由大寫字母組成,長度小於100

- 輸出描述:

如果小易喜歡輸出"likes",不喜歡輸出"dislikes"

```輸入

aaa輸出

dislikes

Python2字串編碼問題總結

發表於2016年 05月 29日 python2.7中的字串編碼問題的關鍵是 str其實並不是字串而是位元組串 八位二進位制資料串 而unicode字串物件才是真正的字串。所以只要弄清楚str位元組串中儲存的到底是什麼編碼格式的二進位制資料即可解決編碼問題。1,原始碼檔案 py.pyw 編碼問題。只...

Python2字串編譯碼問題

在python2中有兩種型別的字串 str和unicode。二者的轉換如下 unicode字串通過encode函式轉換為str字串,稱為編碼 str字串通過decode函式轉化為unicode字串,稱為解碼.下面以print列印為例進行說明 當字串為str型別時,作業系統直接將其交給終端進行顯示 當...

從零開始學習python(2) 字串基礎

字串 python中可以有三種方式表達字串 單引號,雙引號,三引號 在python中一下 是完全相同的 print i love python print i love python 但是為什麼python要提供兩種實現方式呢?這是不是多此一舉了,事實上不是的,我們看看下面這一行程式 print l...