x=randn這個(gè)寫法是不對(duì)的。
專注于為中小企業(yè)提供網(wǎng)站制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)石棉免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
randn是numpy里的一個(gè)生成隨機(jī)array的函數(shù)。
比如說要生成一個(gè)三行兩列的隨機(jī)array,可以這樣寫:
import numpy
x = numpy.random.randn(3,2)
像這樣:
后面這個(gè)mat=x.T.dot(...)是先求這個(gè)3*3矩陣的轉(zhuǎn)置(.T),再求與點(diǎn)積(.dot)
點(diǎn)積就是矩陣各個(gè)對(duì)應(yīng)元素相乘, 這個(gè)時(shí)候要求兩個(gè)矩陣必須同樣大小。
其實(shí)可以分步來的,就知道做了什么運(yùn)算了。
像這樣:
dot(2)是點(diǎn)乘常數(shù)就不說了,
那個(gè)x.T.dot([1,2,3])就是x.T的
1*1+2*2+3*3=14
2*1+3*2+4*3=20
懂了木有 =。=
一般我們常見的網(wǎng)址后綴(suffix)是 cn,或者net,或者com,你說的就是域名的后綴列表
后面代碼就是用dot把域名分隔開,
比如 被拆分成[ ‘www','baidu','com']
經(jīng)過for循環(huán)后,到com的時(shí)候,進(jìn)入if分支,而前面走的是else分支,所以可以看到sdomain的變化如下:
遇到www, sdomain包含['www']
遇到baidu sdomain被替換為['baidu']
遇到com,走if分支,append,變成 ['baidu','com']
然后join后就變成 baidu.com
不過不知道這么些的理由,要是我,就用正則表達(dá)式,或者直接保留后面兩個(gè)部分
domain=url.split('.')
if domain[-1] in suffixs:
return string.join(domain[-2:],'.')
else:
return None #not valid domain
在PyCharm里運(yùn)行正常,Python3.6.4
import?numpy?as?np
A?=?[1,?1]
B?=?np.array([1,?2])
C?=?np.sum(A*B)
D?=?np.dot(A,?B)
print(C)
print(D)
輸出:
3
3
import?math
class?Dot:
def?__init__(self,x,y,z):
self.x=float(x)
self.y=float(y)
self.z=float(z)???
t1=input('請(qǐng)輸入點(diǎn)t1的坐標(biāo):')
t2=input('請(qǐng)輸入點(diǎn)t2的坐標(biāo):')
t1=eval('[%s]'%t1)
t2=eval('[%s]'%t2)
T1=Dot(t1[0],t1[1],t1[2])
T2=Dot(t2[0],t2[1],t2[2])
print('點(diǎn)t1:',T1.x,T1.y,T1.z)
print('點(diǎn)t2:',T2.x,T2.y,T2.z)
s=math.sqrt((T1.x-T2.x)*(T1.x-T2.x)-(T1.y-T2.y)*(T1.y-T2.y)+(T1.z-T2.z)*(T1.z-T2.z))
print("兩點(diǎn)間的距離為:%s"%?s)