1. 程式人生 > >Python的序列Ⅱ

Python的序列Ⅱ

gin 裏的 執行 rem 更新 過濾 off str2 get()

  • 字符串

所有標準的序列操作對字符串同樣適用,但是字符串是不可變的。

字符串格式化:

#示例
>>> num is: %d % 18
num is: 18

>>> str is %s % string
str is string

#字段寬度和精度及‘*‘的作用

>>> %10f % math.pi #寬度10
  3.141593
>>> %.10f % math.pi#精度10
3.1415926536

>>> %10.2f % math.pi#寬度10精度2
3.14 >>> %.*f % (5,math.pi) 3.14159 >>> %*f % (5,math.pi) 3.141593 ##字符寬度和精度值之前還可以放置一個‘標誌‘ >>> %010.2f % math.pi #這裏的0表示將會用0填充 0000003.14 >>> %-10.2f % math.pi#‘-‘表示左對齊 3.14 >>> %+10f % math.pi +表示在正數前顯示+ +3.141593

字符串方法(內建函數)

 #
find(str, beg=0 end=len(string)) 檢測 str 是否包含在字符串中,如果指定範圍 beg 和 end ,則檢查是否包含在指定範圍內,如果包含返回開始的索引值,否則返回-1 >>> str = taking off tight shoes >>> str.find("off") 7 >>> str.find("off",8,15) -1 #join(seq) 以指定字符串作為分隔符,將 seq 中所有的元素(的字符串表示)合並為一個新的字符串 >>> s1 = / >>> seq = [‘‘
,User,jm,Desktop] >>> s1.join(seq) /User/jm/Desktop #lower() 轉換字符串中所有大寫字符為小寫. >>> s1 = HELLO,WORLD! >>> s1.lower() hello,world! >>> s1.title() #首字母大寫 Hello,World! #replace(old, new [, count]) 將字符串中的 str1 替換成 str2,如果 count指定,則替換不超過 count次。 >>> s2 = fake-smile jail cells >>> s2.replace(l,xxx) fake-smixxxe jaixxx cexxxxxxs >>> s2.replace(l,xxx,2) fake-smixxxe jaixxx cells #split(str="", num=string.count(str)) num=string.count(str)) 以 str 為分隔符截取字符串,如果 num 有指定值,則僅截取 num 個子字符串 >>> s3 = User/jm/Desktop >>> s3.split(/) [User, jm, Desktop] # strip([chars]) 在字符串上執行 lstrip()和 rstrip()(移除字符串頭尾指定的字符) >>> s4 = ***Hello,***world*** >>> s4.strip(*) Hello,***world # translate() 方法根據參數table給出的表(包含 256 個字符)轉換字符串的字符,要過濾掉的字符放到 deletechars 參數中。 table = str.maketrans(cd,ef) #maketrans() 方法用於創建字符映射的轉換表 >>> s5 = abcdefghijklmnopqrstuvwxyz >>> s5.translate(table) abefefghijklmnopqrstuvwxyz # >>> bytes_tabtrans = bytes.maketrans(babcdefghijklmnopqrstuvwxyz, bABCDEFGHIJKLMNOPQRSTUVWXYZ) >>> s6.translate(bytes_tabtrans,bt) bHP://WWW.CNBLOGS.COM/TABBY/

  • 字典

基礎知識

#創建及使用字典
>>> dic = {Jameson:1001,Jack:1002,Abel:1003}#創建
#使用dict()創建字典
>>> arr = [(name,jack),(num,1001)]
>>> dic2 = dict(arr)
>>> dic2
{num: 1001, name: jack}
#或
>>> dic3 = dict(name=jack,num=1001)
>>> dic3
{num: 1001, name: jack}

#使用
>>> dic[Abel]
1003

>>> "Jack‘s num is %(Jack)s." % dic
"Jack‘s num is 1002."


>>> dic["Jack"] = 1005 #修改
>>> dic["Berg"] = 1007 #增加
>>> dic
{Abel: 1003, Jack: 1005, Jameson: 1001, Berg: 1007}

字典方法

#clear() 刪除字典內所有元素
>>> dic2 = {num: 1001, name: jack}
>>> dic2.clear()
>>> dic2
{}

#copy() 復制字典
>>> dic4 = dic#這樣也可以
>>> dic4
{Abel: 1003, Jack: 1005, Jameson: 1001, Berg: 1007}
>>> dic5 = dic.copy()
>>> dic5
{Abel: 1003, Jack: 1005, Jameson: 1001, Berg: 1007}

>>> dic["Jack"] = 1009#修改下dic的值試試

>>> dic4
{Abel: 1003, Jack: 1009, Jameson: 1001, Berg: 1007}#淺復制
>>> dic5
{Abel: 1003, Jack: 1005, Jameson: 1001, Berg: 1007}#深復制

#fromkeys(seq[, value])) 創建一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值
>>> dict.fromkeys([name,age])
{age: None, name: None}
>>> dict.fromkeys([name,age],unknown)
{age: unknown, name: unknown}

#get(key, default=None) 返回指定鍵的值,如果值不在字典中返回默認值。

#另外,檢查字典是否有某鍵用in
>>> Jack in dic
True
>>> name in dic
False

#items() 以列表返回可遍歷的(鍵, 值) 元組數組
>>> dic.items()
dict_items([(Abel, 1003), (Jack, 1009), (Jameson, 1001), (Berg, 1007)])

#keys() 以列表返回一個字典所有的鍵
>>> dic.keys()
dict_keys([Abel, Jack, Jameson, Berg])

#pop 獲得給定鍵的值,然後將其從字典中移除(del,remove,pop,hah好多呀)
>>> dic.pop("Jack")
1009
>>> dic
{Abel: 1003, Jameson: 1001, Berg: 1007}

#popitem() 隨機返回並刪除字典中的一對鍵和值.
>>> dic.popitem()
(Abel, 1003)
>>> dic
{Jameson: 1001, Berg: 1007}

#setdefault(key, default=None) 和get()類似, 但如果鍵不存在於字典中,將會添加鍵並將值設為default
>>> dic.setdefault("Carl ")
>>> dic
{Carl : None, Jameson: 1001, Berg: 1007}

#values() 以列表返回字典中的所有值
>>> dic.values()
dict_values([None, 1001, 1007])

#update(dic2) 把字典dict2的鍵/值對更新到dict裏
>>> dic6 = {Name: Runoob, Age: 7}
>>> dic7 = {Sex: female }
>>> dic6.update(dic7)
>>> dic6
{Sex: female, Name: Runoob, Age: 7}

註:參考《Python基礎教程》(第2版)·修訂版

Python的序列Ⅱ