Python字串與容器

2021-09-07 09:04:29 字數 2814 閱讀 4572

運算子是python中訪問容器元素和切片的運算子

有正向和反向兩種下標,正向下標從0開始,向後遞增;

反向下標以-1表示最後乙個元素,-2表示倒數第二個字元,向前遞減。

不僅可以訪問單個元素還可以使用冒號表示式訪問一段子串行(稱為切片,slice)。

切片有三種語法:seq[begin],seq[begin:end]seq[begin:end:step].

注意冒號表示式中step寫在最後而非中間,在begin為起始位置(0),end為結尾位置(-1)時可以省略:seq[:end], seq[begin:]

採用左閉右開區間[begin,end),正反兩種下標可以混用。

in運算子用於檢驗元素是否包含在某個容器中,len(obj)obj.__len__()可以返回容器的長度。

>>> s="abcd"

>>> s[0:2:]

'ab'

>>> s[0::1]

'abcd'

>>> s[0:-1:1]

'abc'

python中的字串採用常物件表示無法修改,python字串預設使用unicode編碼,在str的建構函式中可以指定使用其它編碼。

字串字面值以雙引號或單引號包括,字串中可以使用轉義字元。

str物件可以使用關係運算子進行比較或unicode字典排序.

可以使用訪問字元/子串,不允許修改。

str.format()字串格式化功能。

>>> "the  is   old.".format(12,"years",who="boy")

'the boy is 12 years old.'

或者使用c風格的"%"佔位符:

>>> "the %s is %d %s old." % ("boy", 12, "years")

'the boy is 12 years old.'

字串類中提供了一系列字串操作方法.

元組是儲存物件索引的線性容器,其中元素可以是不同的資料型別,元素允許訪問但不允許修改。元組採用圓括號語法建立:

>>> ("sth",1)

('sth', 1)

字面值語法要求即使只有乙個元素,其後也要加","否則會產生二義性:

>>> (1)

1>>> (1,)

(1,)

python的tuple有一些有趣應用:

b,a = a,b
上述語句交換了a,b的值,實際上左值和右值都建立了乙個臨時tuple然後進行了淺複製。

def returnmuliti():

return 1,2

上述函式實際上返回了(1,2).

列表是可變的儲存索引的線性容器,其中元素可以是不同的資料型別,元素允許訪問和修改。列表採用方括號語法建立:

>>> c=["sth",1]

>>> c

['sth', 1, 'a']

序列操作方法:

l.insert(i,e): 在下標i處新增元素e

l.remove(e): 刪除第乙個出現的元素e

l.pop(i): 刪除下標i處元素

l.pop(): 刪除最後乙個元素

l.extend(other): 合併兩個list

列表可以採用列表生成式語法建立:

[expression for item i iterable if condition]
上述語句等價於:

temp = 

for i in iterable:

if condition:

示例:

>>> leaps = [y for y in range(2000,2101) if (y%4==0 and y%100!=0)or(y%400==0) ]

>>> leaps

[2000, 2004,...2092, 2096]

集合是採用雜湊方法建立的無序容器,其中元素可以是不同的資料型別。只有可雜湊的元素可以包含在集合中,這些物件都要包含乙個__hash__()方法。

集合操作方法:

集合生成式:

字典是儲存鍵值對(關係)的集合,字典中元素的鍵是唯一的。可以採用下列語法建立字典:

>>> 

>>> dict(username="admin",password=123456)

>>> dict([("name","admin"),("password",123456)])

集合的&,|,^,-運算對字典同樣適用。

字典操作方法:

字典檢視方法:

字典檢視方法以唯讀容器的形式返回內容.

字典生成式:

字典派生出缺省字典defaultdict(可以為新鍵提供預設值)和有序字典ordereddict(可以進行字典排序)兩種容器,它們具有廣泛的應用。

Python練習 容器 字串

容器 如果在原有記憶體上修改資料,可能影響其他物件的記憶體 1 在終端中獲取乙個字串,迴圈列印每個字元的編碼值 char input 請輸入字串 for item in char a ord item print a 2 在終端中反覆錄入乙個編碼值,然後列印字串,如果錄入空字串,則退出程式 q in...

Python 分割字串與拼接字串

號 實現字串連線 zhrq 95 zhrq95 a 95 b zhrq print b a 注 是反引號,因為其容易看錯,此方法不推薦 zhrq95 print b str a zhrq95 print b repr a repr a 與上面的類似 zhrq95 split 這個函式的作用是將字串根...

python字串 Python 字串

建立字串很簡單,只要為變數分配乙個值即可。例如 var1 hello world var2 python runoob python訪問字串中的值python不支援單字元型別,單字元在 python 中也是作為乙個字串使用。python訪問子字串,可以使用方括號來擷取字串,如下例項 例項 pytho...