Python 列表解析 字典解析和dtype擴充套件

2021-10-09 03:41:06 字數 2187 閱讀 6687

1、基本用法

# 基本用法

a = np.array([1

,2,3

,4])

print

(a.dtype)

# int32

print

(type

('i4'))

# print

(np.dtype(

'i4'))

# int32

print

(type

(np.dtype(

'i4'))

)#

2、 使用dtype()函式構造複雜型別
# 結構化資料型別

# 通過dtype()方法,構造了乙個複雜的資料結構student,其中有3個字段name,age和marks,

# 其分別用20個位元組長度的字串,1個位元組長度的整型,4個位元組長度的浮點數,且採用小端法(低位在前,高位在後)

# student本身是乙個型別,type()顯示出student的型別是dtype類,

# 而print(student)則輸出的是型別的內容,以列表內巢狀元組來表示

student = np.dtype([(

'name'

,'s20'),

('age'

,'i1'),

('marks'

,'f4')]

)print

(type

(student))#

print

(student)

# [('name', 's20'), ('age', 'i1'), ('marks', 'a = np.array([(

'abc',21

,50),

('xyz',18

,75)]

, dtype = student)

print

(a)# [(b'abc', 21, 50.) (b'xyz', 18, 75.)]

print

(a['name'])

# [b'abc' b'xyz']

print

(a['age'])

# [21 18]

1、基本

print

([x for x in

range(5

)])# [0, 1, 2, 3, 4]

a =[1,

2,3,

4]print

([x*

2for x in a]

)# [2, 4, 6, 8]

# 多個值的

# [ '%s = %s' for (k, v) in a_map.items()]

# 兩次迴圈

l1 =[1

,2,3

,4]l2 =[1

,2,3

,4]print

([x+y for x in l1 for y in l2]

)# [2, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 7, 5, 6, 7, 8],這裡是逐項相加,不是對應相加

2、呼叫函式

# [func(x) for x in l1] # 等價於map

3、條件列表解析

# 通常寫法

a =[

]for x in

range(10

):if x%2==

0:print

(a)# [0, 2, 4, 6, 8]

# 列表解析的寫法:

print

([x for x in

range(10

)if x%2==

0])# [0, 2, 4, 6, 8]##

4、巢狀列表解析

# 交換行列,轉置,也有其他方法

mat =[[

1,2,

3],[

4,5,

6],[

7,8,

9]]l =

[[row[i]

for row in mat]

for i in(0

,1,2

)]print

(l)# [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

# 字典解析

l =print

(l)#

python學習 列表解析 字典解析

python學習 資料型別 列表 python學習 資料型別 字典 python學習 資料型別 元組 python學習 列表的操作 根據已有列表,高效建立新列表的方式。列表解析是python迭代機制的一種應用,它常用於實現建立新的列表,因此用在中。優點是 簡潔,編寫方便。lst1 1 2,3 4,5...

python列表解析

列表解析是乙個列表對映出另乙個列表,它的基本形式是乙個方括號裡面包含乙個for語句對乙個iterable物件迭代 expression for target1 in iterable1 if condition1 for targetn in iterablen if conditionn 上面是列...

python 列表解析

m 1,2,3 4,5,6 7,8,9 col2 row 1 for row in m 獲取列表m的每個元素的第二個元素的值組成的列表 print col2 print row 1 1 for row in m 獲取列表m的每個元素的第二個元素 1的值組成的列表 print row 1 for ro...