資料型別:int,float,str等
資料結構:陣列,列表,字典,集合,元組等
1.知道python中一切皆物件
2.實現索引的魔術方法:
def __getitem__(self,y):
#x.__getitem__(y) :==>x[y]
pass
例如:
class student(object):
def __init__(self, name, scores):
self.name = name
self.scores = scores
# 索引的是學生的成績
def __getitem__(self, index): # 1).索引值的獲取
print(index, type(index))
return self.scores[index]
def __setitem__(self, key, value): # 2). 索引值的重新賦值
self.scores[key] = value
def __delitem__(self, key): # 3). 刪除索引值
del self.scores[key]
def __mul__(self, other): # 4). 實現*的效果, 具體返回什麼取決於**的業務需求
"""對於學生的每一門成績乘3"""
return [i*other for i in self.scores]
def __add__(self, other): # 5). 連線的時候必須是同一種資料;型別
# 將兩個學生的成績拼接起來
return self.scores + other.scores
def __contains__(self, item): # 6). 判斷某個元素是否存在於這個物件中?
return item in self.scores
def __iter__(self): # 7). 迭代, 使得該物件可以實現for迴圈
# 將列表轉換為迭代的型別, 可以for迴圈, 一定要返回iter型別的資料;
return iter(self.scores)
def __lt__(self, other): # 8). 比較兩個物件的大小;
return (sum(self.scores)/3) < (sum(other.scores)/3)
liming = student(『liming』, [100, 89, 100])
print(liming[0])
print(liming[1])
print(liming[2])
liming[0] = 90
print(liming[0])
del liming[0]
print(liming[:2])
print(liming[:2])
print(liming[-2:]
liming[:2] = [10, 10]
print(liming.scores)
del liming[:2]
print(liming.scores)
print(liming * 3)
xiaohong = student('小紅', [100, 90, 90])
print(xiaohong + liming)
print(100 in xiaohong)
print(101 in xiaohong)
print(101 not in xiaohong)
for item in liming:
print(item)
print(liming > xiaohong)
print(liming < xiaohong)
3 3 索引與切片
索引或切片都是根據條件對陣列的元素進行訪問的方法,本節主要介紹一維和二維陣列的元素索引 切片索引及花式索引。陣列的元素索引方法和python列表的索引方法相同,用整數作為下標可以獲取陣列中的某個元素,且索引初值從0開始計算,一維陣列的索引示例 a np.arange 10 a array 0,1,2...
pytorch索引與切片
torch會自動從左向右索引 例子 a torch.randn 4,3,28,28 表示類似乙個cnn 的的輸入資料,4表示這個batch一共有4張 而3表示的通道數為3 rgb 28,28 表示的大小 基本索引print a 0 shape torch.size 3,28,28 print a 0...
numpy索引與切片
作用 要獲取陣列的單個元素,指定元素的索引即可 例子 print x 2 3 print x 2 21 22 23 24 25 print x 2 1 22 print x 2,1 22 切片操作是指抽取陣列的一部分元素生成新陣列。對 python列表進行切片操作得到的陣列是原陣列的 副本,而對 n...