python 序列操作,以及 getitem

2021-08-27 05:53:40 字數 2525 閱讀 9894

#模式[start:end:step]

""" 其中,第乙個數字start表示切片開始位置,預設為0;

第二個數字end表示切片截止(但不包含)位置(預設為列表長度);

第三個數字step表示切片的步長(預設為1)。

當start為0時可以省略,當end為列表長度時可以省略,

當step為1時可以省略,並且省略步長時可以同時省略最後乙個冒號。

另外,當step為負整數時,表示反向切片,這時start應該比end的值要大才行。

"""alist = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]

print (alist[::]) # 返回包含原列表中所有元素的新列表

print (alist[::-1]) # 返回包含原列表中所有元素的逆序列表

print (alist[::2]) # 隔乙個取乙個,獲取偶數字置的元素

print (alist[1::2]) # 隔乙個取乙個,獲取奇數字置的元素

print (alist[3:6]) # 指定切片的開始和結束位置

alist[0:100] # 切片結束位置大於列表長度時,從列表尾部截斷

alist[100:] # 切片開始位置大於列表長度時,返回空列表

alist[len(alist):] = [9] # 在列表尾部增加元素

alist[:0] = [1, 2] # 在列表頭部插入元素

alist[3:3] = [4] # 在列表中間位置插入元素

alist[:3] = [1, 2] # 替換列表元素,等號兩邊的列表長度相等

alist[3:] = [4, 5, 6] # 等號兩邊的列表長度也可以不相等

alist[::2] = [0] * 3

# 隔乙個修改乙個

print (alist)

alist[::2] = ['a', 'b', 'c'] # 隔乙個修改乙個

alist[::2] = [1,2] # 左側切片不連續,等號兩邊列表長度必須相等

alist[:3] = # 刪除列表中前3個元素

del alist[:3] # 切片元素連續

del alist[::2] # 切片元素不連續,隔乙個刪乙個

import numbers

class

group:

#支援切片操作

def__init__

(self, group_name, company_name, staffs):

self.group_name = group_name

self.company_name = company_name

self.staffs = staffs

def__reversed__

(self):

self.staffs.reverse()

def__getitem__

(self, item):

#實現切片返回這個類例項

cls = type(self) # type(self)相當於 group

if isinstance(item, slice):

return cls(group_name=self.group_name, company_name=self.company_name, staffs=self.staffs[item])

elif isinstance(item, numbers.integral): # numbers.integral 代表int型別

return cls(group_name=self.group_name, company_name=self.company_name, staffs=[self.staffs[item]])

def__len__

(self):

return len(self.staffs)

def__iter__

(self):

return iter(self.staffs)

def__contains__

(self, item):

if item in self.staffs:

return

true

else:

return

false

staffs = ["bobby1", "imooc", "bobby2", "bobby3"]

group = group(company_name="imooc", group_name="user", staffs=staffs)

reversed(group)

for user in group:

print(user)

print("*****====")

g2 = group(company_name="imooc", group_name="user", staffs=staffs)

g2=g2[:2]

for _ in g2:

print(_)

python序列操作 序列操作

toc 序列操作 all 判斷可迭代物件的每個元素是否都為true值 all 1,2 列表中每個元素邏輯值均為true,返回true true all 0,1,2 列表中0的邏輯值為false,返回false false all 空元組 true all 空字典 true any 判斷可迭代物件的元...

python通用序列操作 python序列的使用

序列之通用操作 pytho中,最基本的資料結構就是序列。什麼是序列 numbers 1,2,3,4,5,6,7,8,9,0 greeting u hello,world names alice tom ben john python內建序列種類 共有6種 列表,元組,字串,unicode字串,buf...

python 序列操作

1.什麼是序列 2.序列的切片操縱 3.序列常用方法 1.什麼是序列 python中的序列表示索引 序號 為整數的有序物件集合。包括 字串,列表,元組。2.序列的切片操作 1.以索引 序號 來訪問序列的兩種方法 從左到右 用序號0 表示第乙個元素,1表示第二個元素.從右到左 用序號 1 表示從右面開...