1. 程式人生 > >Python模組之NumPy

Python模組之NumPy

1 多維陣列adarray

程式示例:

b = np.zeros((2, 3, 5))
print(b)
print(b.ndim)
print(b.size)
print(b.shape)

執行結果:

[[[0. 0. 0. 0. 0.]
  [0. 0. 0. 0. 0.]
  [0. 0. 0. 0. 0.]]

 [[0. 0. 0. 0. 0.]
  [0. 0. 0. 0. 0.]
  [0. 0. 0. 0. 0.]]]
3
30
(2, 3, 5)

結果解釋:
NumPy中的多維陣列稱為ndarray。其中:

  • ndim表示多維陣列有幾個維度。(程式示例中b有三個維度,每個維度的長分別為2、3、5)
  • size是多維陣列的長度,即陣列中總共有多少個元素。(程式示例中b共有30個元素)
  • shape是多維陣列的型(即表示陣列的形狀),表示了陣列的維數和每一維的元素的數量。(程式示例中b共有三個維度,這三個維度中元素個數分別為2個、3個、5個)

2 建立陣列

最常用的方法是使用array()函式,該函式只有一個唯一的引數,需要傳入一個陣列型別的物件。
我們可以傳入單層或多層列表,巢狀元組或元組列表,也可以是元組和列表組成的列表(或元組)。總之,傳入的物件是陣列型別即可。(Python的陣列型別有列表List、元組Tuple、字典Dict、集合Set)

import numpy as np

# 巢狀的列表
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)

# 巢狀的元組
b = np.array(((3, 2, 1), (6, 5, 4)))
print(b)

# 元組和列表組成的列表
c = np.array([(1, 2, 3), [4, 5, 6], (7, 8, 9)])
print(c)

# 元組和列表組成的元組
d = np.array(([3, 2, 1], (6, 5, 4), [9, 8, 7]))
print(d)

執行結果:

[[1 2 3]
 [4 5 6]]
[[3 2 1]
 [6 5 4]]
[[1 2 3]
 [4 5 6]
 [7 8 9]]
[[3 2 1]
 [6 5 4]
 [9 8 7]]

指定陣列中的元素型別,可以設定array()的dtype引數,例如:
程式程式碼:

a = np.array([[1,2],[3,4]],dtype = 'D')
a

執行結果:

array([[1.+0.j, 2.+0.j],
       [3.+0.j, 4.+0.j]])

3 資料型別

NumPy陣列能夠包含多種資料型別。

3.1 NumPy中的資料型別

  • NumPy包含的數值型別就有:
    在這裡插入圖片描述
  • 除了數值型別外,NumPy還支援一些其他型別,例如字串等。

3.2 資料型別物件

資料型別物件是numpy.dtype類的例項。
函式array()、arange()都有引數dtype,可以通過設定dtype引數,設定各元素的資料型別。
程式程式碼:

import numpy as np 

a1 = np.array((2,3))
print('a1 = ', a1)

a2 = np.array((2,3),dtype='f')#浮點型
print('a2 = ', a2)

b1 = np.arange(2,13,2)#間隔為2
print('b1 = ', b1)

b2 = np.arange(2,13,2,dtype='D') #複數型
print('b2 = ', b2)

執行結果:

a1 =  [2 3]
a2 =  [2. 3.]
b1 =  [ 2  4  6  8 10 12]
b2 =  [ 2.+0.j  4.+0.j  6.+0.j  8.+0.j 10.+0.j 12.+0.j]

3.3 自帶的陣列建立方法

  1. zeros()

def zeros(shape, dtype=None, order=‘C’):
Return a new array of given shape and type, filled with zeros.
Parameters
----------
shape : int or tuple of ints
Shape of the new array, e.g., (2, 3) or 2.
dtype : data-type, optional
The desired data-type for the array, e.g., numpy.int8. Default is
numpy.float64.
order : {‘C’, ‘F’}, optional, default: ‘C’
Whether to store multi-dimensional data in row-major
(C-style) or column-major (Fortran-style) order in
memory.
Returns
-------
out : ndarray
Array of zeros with the given shape, dtype, and order.

  1. ones()
    與zeros()用法相同,只是以0填充。

def ones(shape, dtype=None, order=‘C’):
Return a new array of given shape and type, filled with ones.

  1. arange()

arange([start,] stop[, step,], dtype=None)
Parameters
----------
start : number, optional
Start of interval. The interval includes this value. The default
start value is 0.
stop : number
End of interval. The interval does not include this value, except
in some cases where step is not an integer and floating point
round-off affects the length of out.
step : number, optional
Spacing between values. For any output out, this is the distance
between two adjacent values, out[i+1] - out[i]. The default
step size is 1. If step is specified as a position argument,
start must also be given.
dtype : dtype
The type of the output array. If dtype is not given, infer the data
type from the other input arguments.
Returns
-------
arange : ndarray

程式示例:

print(np.zeros((3,3)))
print()
print(np.ones((3,3),dtype='f'))
print()
print(np.arange(6))
print(np.arange(1,6))
print(np.arange(1,6,2))

執行結果;

[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

[0 1 2 3 4 5]
[1 2 3 4 5]
[1 3 5]
  1. linspace()

.def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None):
“”"
Return evenly spaced numbers over a specified interval.
Returns num evenly spaced samples, calculated over the
interval [start, stop].
The endpoint of the interval can optionally be excluded.
Parameters
----------
start : scalar
The starting value of the sequence.
stop : scalar
The end value of the sequence, unless endpoint is set to False.
In that case, the sequence consists of all but the last of num + 1
evenly spaced samples, so that stop is excluded. Note that the step
size changes when endpoint is False.
num : int, optional
Number of samples to generate. Default is 50. Must be non-negative.
endpoint : bool, optional
If True, stop is the last sample. Otherwise, it is not included.
Default is True.
retstep : bool, optional
If True, return (samples, step), where step is the spacing
between samples.
dtype : dtype, optional
The type of the output array. If dtype is not given, infer the data
type from the other input arguments.
… versionadded:: 1.9.0
Returns
-------
samples : ndarray
There are num equally spaced samples in the closed interval
[start, stop] or the half-open interval [start, stop)
(depending on whether endpoint is True or False).
step : float, optional
Only returned if retstep is True
Size of spacing between samples.

linspace,預設使用起始閉區間[start,end]。
引數num表示預設劃分成50份。
引數endpoint為True時,表示將端點end考慮在內。為False時,表示將端點end排除在外。
引數retstep為True時,表示返回生成陣列中各元素的間隔。為False時,不返回間隔。
程式示例:

print(np.linspace(2,8,num=4))
print(np.linspace(2,8,num=4,retstep=True))

執行結果:

[2. 4. 6. 8.]
(array([2., 4., 6., 8.]), 2.0)

3.4 基本運算

3.4.1 算術運算子

加(+)、減(-)、乘(*) 均為元素級,即兩個陣列進行這三種運算,是各對應位置的元素,進行這些運算。

3.4.2 矩陣積

NumPy中用dot()函式表示矩陣積。

dot(a, b, out=None)

程式示例:

import numpy as np

a = np.arange(1, 4)
print('a = ', a)

b = np.linspace(1, 3, 3)
print('b = ', b)

print(np.dot(a, b))  # 即1*1+2+2+3+3 = 14
print(a.dot(b))
print(np.dot(b,a)) # 注意:矩陣積的運算不遵循交換律,所以運算物件的順序很重要。此處的例子沒有顯示這一點,但還是要注意。

執行結果:

a =  [1 2 3]
b =  [1. 2. 3.]
14.0
14.0
14.0

3.4.3 自增和自減運算子

自增(+=)、自減( -=)。
程式示例:

a = np.arange(1, 4)
print('a = ', a)

b = np.linspace(1, 3, 3)
print('b = ', b)

print()
a += 1
print(a)
b -= 1
print(b)

執行結果:

a =  [1 2 3]
b =  [1. 2. 3.]

[2 3 4]
[0. 1. 2.]

3.4.4 通用函式

通用函式對輸入陣列的每個元素進行操作,生成的所有結果組成一個新的陣列,輸出陣列的size與輸入陣列相同。
sqrt()、log()、sin()。

3.4.5 聚合函式

聚合函式對一組值進行操作,返回一個單一值作為結果。
sum()、min()、max()、mean()、std()。

3.5 索引、切片和迭代

3.5.1 索引

包含兩種機制:正數索引(自左從0開始)、負數索引(自右從-1開始)。
一維陣列程式示例:

import numpy as np

a = np.arange(1, 6)
print('a = ', a)

print(a[0])
print(a[1]) # 正數索引
print(a[-1])
print(a[-2])

執行結果:

a =  [1 2 3 4 5]
1
2
5
4

二維陣列程式示例:

b = np.arange(1,10).reshape((3,3))
print(b)
print(b[0][0])
print(b[1][1])
print(b[2][2])

執行結果:

[[1 2 3]
 [4 5 6]
 [7 8 9]]
1
5
9

3.5.2 切片

  • 一維陣列的切片
    程式示例:
import numpy as np

a = np.arange(0, 9)
print('a = ', a)

print('a[1:6] = ', a[1:6])  # 元素的起始索引,開區間

# 間隔抽取
print('a[1:6:2] = ', a[1:6:2])  # 在切片中,每兩個元素取一個,即每隔一個元素取一個
print()
# 間隔抽取預設值
print('a[0:6] = ', a[0:6])
print('a[:6:2] = ', a[:6:2])  # 第一個數字省略,切片預設從陣列最左側(索引為0)開始
print()
print('a[1:] = ', a[1:])
print('a[1::2] = ', a[1::2])  # 第二個數字省略,切片預設到陣列最右側結束
print()
print('a[1:6] = ', a[1:6])
print('a[1:6:] = ', a[1:6:])  # 最後一個省略,間隔預設取1

執行結果:

a =  [0 1 2 3 4 5 6 7 8]
a[1:6] =  [1 2 3 4 5]
a[1:6:2] =  [1 3 5]

a[0:6] =  [0 1 2 3 4 5]
a[:6:2] =  [0 2 4]

a[1:] =  [1 2 3 4 5 6 7 8]
a[1::2] =  [1 3 5 7

a[1:6] =  [1 2 3 4 5]
a[1:6:] =  [1 2 3 4 5]
  • 二維陣列的切片
    程式示例:
import numpy as np

a = np.arange(1,10).reshape((3,3))
print(a, '\n')

print(a[:, 1], '\n')  # 省略第一個,預設選擇所有行
print(a[1, :], '\n')  # 省略第二個,預設選擇所有列
print(a[0:2, 1:3], '\n')  # 0到1行,1到2列
print(a[[0, 2], 1:3])  # [0,2]用列表表示,選擇第0行和第2行;

執行結果

[[1 2 3]
 [4 5 6]
 [7 8 9]] 

[2 5 8] 

[4 5 6] 

[[2 3]
 [5 6]] 

[[2 3]
 [8 9]]

3.5.3 迭代

  1. 使用for迴圈遍歷陣列
    程式示例:
import numpy as np

# 1 迭代一維陣列
a = np.arange(1, 6)
print(a, '\n')
for item in a:
    print(item)
print()

# 2 迭代二維陣列
b = np.arange(1, 10).reshape((3, 3))
print(b, '\n')

print('2.1 以行為單位輸出:')
for row in b:
    print(row)

print('2.2 使用巢狀迴圈遍歷每個元素:')
for row in b:
    for item in row:
        print(item)

print('2.3 通過一維迭代器flat遍歷陣列')
"""
ndarray.flat
A 1-D iterator over the array。(遍歷陣列的一維迭代器)
Return a copy of the array collapsed into one dimension.(flat是numpy.flatier的例項,將原陣列摺疊為一個一維陣列,然後返回。)
"""
for item in b.flat:  # 將陣列b中的元素按順序組成一個一維陣列
    print(item)

執行結果:

[1 2 3 4 5] 

1
2
3
4
5

[[1 2 3]
 [4 5 6]
 [7 8 9]] 

2.1 以行為單位輸出:
[1 2 3]
[4 5 6]
[7 8 9]
2.2 使用巢狀迴圈遍歷每個元素:
1
2
3
4
5
6
7
8
9
2.3 通過一維迭代器flat遍歷陣列
1
2
3
4
5
6
7
8
9
  1. NumPy方法apply_along_axis()
    如果想用函式處理陣列的每一列或行(按整行或整列處理),可以使用優雅的NumPy方法apply_along_axis(),遍歷陣列。
    程式示例:
import numpy as np

b = np.arange(1, 10).reshape((3, 3))
print(b, '\n')

# 聚合函式
print(np.apply_along_axis(np.mean, axis=0, arr=b))  # 對每一列求平均值
print(np.apply_along_axis(np.mean, 1, b))  # 對每一行求平均值
print()

def foo(x):
    return x/2


print(np.apply_along_axis(foo, 1, b))  # 將每一行除以2

執行結果:

[[1 2 3]
 [4 5 6]
 [7 8 9]] 

[4. 5. 6.]
[2. 5. 8.]

[[0.5 1.  1.5]
 [2.  2.5 3. ]
 [3.5 4.  4.5]]

3.6 處理陣列的形狀

  • 拆解:ravel() —— 將多維陣列變成一維陣列,返回陣列的檢視。(不需傳入引數)
  • 拉直:flatten() —— 將多維陣列變成一維陣列,返回真實的陣列,需要分配新的記憶體空間。(不需傳入引數)
  • 轉置:transpose() 將陣列進行轉置。(不需傳入引數)
  • 調整大小:
    • resize()函式,不會返回新的陣列,會直接改變原陣列 。(需要傳入一個元組)
    • reshape()函式,會返回新的陣列,不會改變原陣列。(需要傳入一個元組)
    • shape屬性,直接改變原陣列。(需要用一個元組給其賦值)

3.6.1 堆疊陣列

  • 水平疊加 hstack()函式
    首先將待疊加的兩個陣列,組成一個元組,然後將整個元組作為引數傳入hstack()。
    import numpy as np
    
    a = np.ones(9).reshape(3, 3)
    print('a = ', a, '\n')
    
    b = np.arange(1, 10).reshape((3, 3))
    print('b = ', b, '\n')
    
    print('水平疊加 = ', np.hstack((a, b)))
    
    執行結果:
    a =  [[1. 1. 1.]
          [1. 1. 1.]
          [1. 1. 1.]] 
    
    b =  [[1 2 3]
    	  [4 5 6]
          [7 8 9]] 
    
    水平疊加 =  [[1. 1. 1. 1. 2. 3.]
    		    [1. 1. 1. 4. 5. 6.]
    		    [1. 1. 1. 7. 8. 9.]]
    
  • 垂直疊加 vstack()
  • 深度疊加 dstack()
  • 列式疊加 column_stack()
  • 行式疊加 row_stack()

3.6.2 拆分NumPy陣列

  • 橫向拆分 hsplit()
  • 縱向拆分 vsplit()
import numpy as np

b = np.arange(1, 10).reshape((3, 3))
print('b = ', b, '\n')

print('橫向拆分 = ', np.hsplit(b, 3))  # 即豎著下刀,那麼刀的移動方向就是自左至右
print('hsplit等同於hsplit(axis = 1)',np.split(b,indices_or_sections=3,axis=1))   # split()第二個引數指示將陣列拆分為幾個子陣列;axis指示按哪個軸進行拆分

print('縱向拆分 = ', np.vsplit(b, 3))  

執行結果:

b =  [[1 2 3]
 [4 5 6]
 [7 8 9]] 

橫向拆分 =  [array([[1],
       [4],
       [7]]), array([[2],
       [5],
       [8]]), array([[3],
       [6],
       [9]])]
hsplit等同於hsplit(axis = 1) [array([[1],
       [4],
       [7]]), array([[2],
       [5],
       [8]]), array([[3],
       [6],
       [9]])]
縱向拆分 =  [array([[1, 2, 3]]), array([[4, 5, 6]]), array([[7, 8, 9]])]

  • 深向拆分 dsplit()

3.6.3 陣列的轉換

  • tolist() 將陣列轉換成Python列表
  • astype() 將陣列元素轉換成指定的型別
import numpy as np

b = np.arange(1, 10).reshape((3, 3))
print('b = ', b, '\n')

print('tolist(): ', b.tolist())  # 將陣列轉換為Python列表
print('astype(): ', b.astype('complex'))  # 將陣列元素轉換成指定型別

執行結果:

b =  [[1 2 3]
 [4 5 6]
 [7 8 9]] 

tolist():  [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
astype():  [[1.+0.j 2.+0.j 3.+0.j]
 [4.+0.j 5.+0.j 6.+0.j]
 [7.+0.j 8.+0.j 9.+0.j]]

3.7 建立陣列的檢視和拷貝

  • 拷貝 copy() 申請新的記憶體 返回的陣列與原陣列無關
  • 檢視 view() 返回原陣列的檢視 修改檢視,也會修改原陣列

程式示例:

import numpy as np

b = np.arange(1, 10).reshape(3, 3)
print('b = ', b)

b_copy = b.copy()
print('b_copy = ', b_copy)

b_view = b.view()
print('b_view = ', b_view, '\n')

b.flat = 0

print('b = ', b)
print('b_copy = ', b_copy)
print('b_view = ', b_view)

執行結果:

b =  [[1 2 3]
 [4 5 6]
 [7 8 9]]
b_copy =  [[1 2 3]
 [4 5 6]
 [7 8 9]]
b_view =  [[1 2 3]
 [4 5 6]
 [7 8 9]] 

b =  [[0 0 0]
 [0 0 0]
 [0 0 0]]
b_copy =  [[1 2 3]
 [4 5 6]
 [7 8 9]]
b_view =  [[0 0 0]
 [0 0 0]
 [0 0 0]]

3.8 常用概念

  • 向量化:NumPy內部實現迴圈,使用者無需再實現。例如計算兩個陣列的乘積:A*B。(C語言中就只能用for迴圈計算了)
  • 廣播機制:自動填充陣列,以完成陣列間的某些計算。

3.9 陣列資料檔案的讀寫

3.9.1 二進位制檔案的讀寫

程式示例:

import numpy as np 

a = np.arange(16).reshape(4,4)
np.save('saved_data',a)  # 儲存到saved_data.npy檔案中,副檔名.npy,擴充套件名系統會自動新增
print('a = ', a, '\n')

loaded_data = np.load('saved_data.npy')  # 注意,在讀取檔案時需要自己加上副檔名
print('loaded_data = ', loaded_data)

執行結果:

a =  [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]] 

loaded_data =  [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]

3.9.2 讀取檔案中的列表形式資料

此處以讀取CSV檔案中資料為例,可以看出,檔案中有缺失資料:

#data.csv
id,value1,value2,value3
1,123,1.4,23
2,110,,18
3,,2.1,19

程式示例:

import numpy as np 

data = np.genfromtxt('data.csv', delimiter = ',', names = True)
print(data)	 

print(data['id'])  # 將標題看成能夠充當索引的標籤,用它們按列抽取標籤

print(data[0])  # 使用數值索引按行索取

執行結果:

[(1., 123., 1.4, 23.) (2., 110., nan, 18.) (3.,  nan, 2.1, 19.)]
[1. 2. 3.]
(1., 123., 1.4, 23.)

相關推薦

python模組numpy.random

最近在看程式碼的過程中碰到成隨機數的函式,因此接觸到不少numpy子模組random中的函式,上網也查了比較多,大家寫的真好啊!於是,我也想整理份,但也知自己水平低!所以寫的不好的地方還望大家多多指出!  目前接觸random模組中的函式也不多,但幾個常用的都會介紹下,以後

Python模組NumPy

1 多維陣列adarray 程式示例: b = np.zeros((2, 3, 5)) print(b) print(b.ndim) print(b.size) print(b.shape) 執行結果: [[[0. 0. 0. 0. 0.] [0. 0.

Python常用模組numpy

numpy在討論numpy的具體函式和方法之前,我要先說明一下兩個問題:1,numpy中的陣列和向量。2,numpy中的“多軸陣列”。維度vs軸數numpy中裡有多維陣列,為了避免和線性代數中的多維陣列區別開,這裡暫時稱之為多軸陣列。我們首先生成一個三維陣列,裡面存放數字0-

python學習numpy實戰

PE som python hello sin size choice .sh exp import numpy as np def main(): lst=[[1,3,5],[2,4,6]] print(‘hello world‘) print

python模組bsddb: bdb高效能嵌入式資料庫

基礎知識 bsddb模組是用來操作bdb的模組,bdb是著名的Berkeley DB,它的效能非常好,mysql的儲存後端引擎都支援bdb的方式。這裡簡單介紹一些關於bsddb的使用方法。 bdb不同於一般的關係資料庫,它儲存的資料只能是以key和value組成的一對資料,使用就像pyt

Python模組: ConfigParser 配置檔案讀取 Python模組: ConfigParser 配置檔案讀取

Python模組之: ConfigParser 配置檔案讀取   ConfigParser用於讀寫類似INI檔案的配置檔案,配置檔案的內容可組織為組,還支援多個選項值(option-value)型別。 ConfigParser使用用的配置檔案格式由一個或多個命名的節(s

【轉載】python模組poplib: 用pop3收取郵件

轉載自: http://www.cnblogs.com/sislcb/archive/2008/12/01/1344858.html  python的poplib模組是用來從pop3收取郵件的,也可以說它是處理郵件的第一步。  &nbs

python模組xml

xml模組 xml結構 xml是種實現不同語言或程式之間進行資料交換的協議,跟json差不多,但沒json使用簡單。但是因為歷史遺留問題,至今很多行業依然使用xml這種資料格式。 xml的格式如下,是通過<>節點來區別資料結構的。 <?xml version="1.0" e

python--模組random隨機數模組

作用是產生隨機數 import random random.random:用於生成一個0--1的隨機浮點數。 print(random.random())>>0.3355102133472131   random.uniform:用於生成一個指定範圍內的隨機浮點數。 prin

python模組 - psutil python模組psutil詳解

一、psutil模組: 1. psutil模組簡介         他是一個跨平臺庫 ( http://pythonhosted.org/psutil/ ) 能夠輕鬆實現獲取系統執行的程序和系統利用率(包括CPU、記憶體、磁碟、網路等)資訊。它主

python學習numpy的使用

numpy主要模組如下: numpy.linalg 支援線性代數的各種功能 numpy.fft 支援離散傅立葉變換 numpy.matlib 返回矩陣物件 nump

python模組configparser

此模組用於生成和修改常見配置文件,當前模組的名稱在 python 3.x 版本中變更為 configparser。 解析下面的檔案格式: [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 Forw

python模組hashlib

加密演算法介紹 HASH Hash,一般翻譯做“雜湊”,也有直接音譯為”雜湊”的,就是把任意長度的輸入(又叫做預對映,pre-image),通過雜湊演算法,變換成固定長度的輸出,該輸出就是雜湊值。這種轉換是一種壓縮對映,也就是,雜湊值的空間通常遠小於輸入的空間,不同的輸入可能會雜湊成相同的輸出,而不可能從

Python模組BeautifulSoup4

最近有個私人需求用到了爬蟲,雖然自己更擅長的是Java,.NET這樣的靜態語言;但在網上搜索到的爬蟲資料指向Python的居多,而且自從2013年用Python2.7寫了一年指令碼之後就甚少接觸Python,而現在Python的火熱有愈演愈烈之勢,遂決定使用P

python模組urllib.request基礎使用

</script> <script type="text/javascript">var Cookie={set:function(e,t,o,i,s,n){document.cookie=e+"="+(n?t:escape(t))+(s?"; expires="+s.toGMTS

python模組itertools

1 chain(*可迭代物件) chain 迭代器能夠將多個可迭代物件合併成一個更長的可迭代物件。實際上,我參與的一個專案中最近就需要這一功能。我有一個列表,裡面已經包含一些元素,接著想把另外兩個列表新增到最初那個列表中。注意,我們想新增的是兩個列表的元素。最初,我是這樣做的: >&g

Python模組collections

Python擁有一些內建的資料型別,比如str, int, list, tuple, dict等, collections模組在這些內建資料型別的基礎上,提供了幾個額外的資料型別: namedtuple(): 生成可以使用名字來訪問元素內容的tuple子類 d

Python學習Numpy基礎(二)

一:判斷array中的值是否滿足條件vector = numpy.array([10, 20, 30, 40, 50]) equal_to_ten = (vector == 10) print(equal_to_ten)列印結果:[ True False False Fals

python模組json_pickle_shelve

#!/usr/bin/env python # coding:utf-8 import json ## 非常重要的模組,用於不同種程式語言間交換資料。 dic= {"name":'alex',"age":38,"desc":"金角大王"} print(dic["name"]) data = jso

python模組_正則 re_configparser_logging_hashlib

正則表示式的內容放在最下面了  configparser 模組: #!/usr/bin/env python # coding:utf-8 import configparser # 專門用於操作配置檔案的模組 # config = configparser.Conf