# coding=utf-8
class vector(object):
"""docstring for vector"""
"""根據座標軸列表輸入 建立向量, 並建立該向量所處的空間維度"""
def __init__(self, coordinates):
super(vector, self).__init__()
try:
if not coordinates:
raise valueerror
self.coordinates = tuple(coordinates)
self.dimension = len(coordinates)
except valueerror:
raise valueerror('the coordinates must be nonempty')
except typeerror:
raise typeerror('the coordinates must be an iterable')
# '''能夠使python的內建print函式 輸出向量座標軸'''
def __str__(self):
return 'vector: {}'.format(self.coordinates)
def __eq__(self, v):
return self.coordinates == v.coordinates
def plus(self,v):
# 使用列表推導
new_corrdinate =[x+y for x,y in zip(self.coordinates, v.coordinates)]
# 使用for迴圈
# new_corrdinate =
# n = len(self.coordinates)
# for i in range(n):
return vector(new_corrdinate)
def minus(self,v):
new_corrdinate = [x-y for x,y in zip(self.coordinates, v.coordinates)]
return vector(new_corrdinate)
def scalarmultiply(self,num):
new_corrdinate =[num * x for x in self.coordinates]
return vector(new_corrdinate)
myvector = vector([1,2,3])
othervector = vector([2,3,3])
print myvector.plus(othervector)
print myvector.minus(othervector)
print myvector.scalarmultiply(3)
# 輸出結果
# vector: (3, 5, 6)
# vector: (-1, -1, 0)
# vector: (3, 6, 9)
# [finished in 0.1s]
Python 列表推導式中使用if
列表推導式 又稱列表解析式 提供了一種簡明扼要的方法來建立列表。它的結構是在乙個中括號裡包含乙個表示式,然後是乙個for語句,然後是 0 個或多個 for 或者 if 語句。那個表示式可以是任意的,意思是你可以在列表中放入任意型別的物件。返回結果將是乙個新的列表,在這個以 if 和 for 語句為上...
python列表推導式使用
列表推導式 alist 一般的操作方式 for x in range 30 print alist alist x x for x in range 30 使用列表推導式,形式上更加簡潔 print alist alist 一般的操作方法 for x in freshfruit print alis...
Python 列表推導
1.正常情況下,我們這樣來遍歷列表 numbers range 10 size len numbers evens i 0 while i size if i 2 0 i 1 for f in evens print f 2.當然可以用更簡單的python支援的列表推導 i for i in ran...