python基礎 列表,陣列,字典,元組

2021-08-28 23:20:37 字數 3916 閱讀 5002

列表與字典之間的區別是:字典當中的元素是通過鍵來訪問,而不是通過偏移訪問

列表與陣列之間的不同是:乙個列表可以存放不同型別的資料,而乙個陣列只能存放相同的型別

在list中的資料型別儲存的是資料的存放的位址,簡單的說是指標,並非資料,

例如 list1 = [1,2,3,4]需要4個指標和四個資料,增加了儲存和消耗,而array1 = numpy.array([1,2,3,4])只需要存放四個資料,讀取和計算更加方便,建議在純數字時使用array

也正因為列表可以存放不同型別的資料,列表中每個元素的大小可以相同,也可以不同,也就不支援一次性讀取一列,即使對於標準的二維陣列列表。

b = [x[0] for x in a]

print(b)

列表不能這樣直接切片

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

# 嘗試用陣列的方法讀取一列失敗 typeerror: list indices must be integers or slices, not tupleke

a = array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])

矩陣的某一行: a[1] [3,4,5]

矩陣的某一列: a[:,1] [1,4,7]

b = array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]])

把矩陣a的第2列賦值給矩陣b的第1列

b[:,0] = a[:,1]

array([[ 1., 0., 0.], [ 4., 1., 0.], [ 7., 0., 1.]])

int(x [,base ])

將x轉換為乙個整數

long(x [,base ])

將x轉換為乙個長整數

float(x )

將x轉換到乙個浮點數

complex(real [,imag ])

建立乙個複數

str(x )

將物件 x 轉換為字串

repr(x )

將物件 x 轉換為表示式字串

eval(str )

用來計算在字串中的有效python表示式,並返回乙個物件

tuple(s )

將序列 s 轉換為乙個元組

list(s )

將序列 s 轉換為乙個列表

chr(x )

將乙個整數轉換為乙個字元

unichr(x )

將乙個整數轉換為unicode字元

ord(x )

將乙個字元轉換為它的整數值

hex(x )

將乙個整數轉換為乙個十六進製制字串

oct(x )

將乙個整數轉換為乙個八進位制字串

陣列轉成列表

import numpy as np

a = np.array([1,2,5]) #定義陣列

a_list = list(a) #陣列轉成列表

有點類似列表的extend,都伸展開來了。

a = ['1.5','5.3','4.4','4.2','23.4']

a2 = np.array([[1,2,3],[4,5,6]])

b = np.array([[7,8,9],[10,11,12]])

x = np.array(a)

print(a)

print(c)

print(c2)

print(c3)

['1.5', '5.3', '4.4', '4.2', '23.4', 3]

['1.5' '5.3' '4.4' '4.2' '23.4' '7' '8' '9' '10' '11' '12']

[ 1 2 3 4 5 6 7 8 9 10 11 12]

[ 7 8 9 10 11 12 3]

能夠一次完成多個陣列的拼接。concatenate()效率更高,適合大規模的資料拼接

a2 = np.array([[1,2,3],[4,5,6]])

b = np.array([[7,8,9],[10,11,12]])

d = np.concatenate((a2,b))

d2 = np.concatenate((a2,b),axis=0)

d3 = np.concatenate((a2,b),axis=1)

print(d)

print(d2)

print(d3)

[[ 1 2 3]

[ 4 5 6]

[ 7 8 9]

[10 11 12]]

[[ 1 2 3]

[ 4 5 6]

[ 7 8 9]

[10 11 12]]

[[ 1 2 3 7 8 9]

[ 4 5 6 10 11 12]]

d4 = np.concatenate((d3, b)) 這個會報錯,陣列行列不一致

numpy.random.rand(d0,d1,...,dn)

np.random.rand(4,2) #生成4行2列陣列

array([[ 0.02173903, 0.44376568],

[ 0.25309942, 0.85259262],

[ 0.56465709, 0.95135013],

[ 0.14145746, 0.55389458]])

np.random.rand(4,3,2) #shape: 4*3*2

np.random.randn()   #當沒有引數時,返回單個資料

np.random.randn(2,4)  #shape: 2*4

range()不支援步長為小數,np.arange()支援步長為小數

兩者都有三個引數,以第乙個引數為起點,第三個引數為步長,截止到第二個引數之前的不包括第二個引數的資料序列 

某種意義上,和stl中由迭代器組成的區間是一樣的,即左閉右開的區間。[first, last)或者不加嚴謹地寫作[first:step:last)

for i in range(5):

print(i)

#for i in np.arange(0, 1, 0.5):

print(i)

for i in range(2,7):

print(i)

list

.extend

(seq)

用於在列表末尾一次性追加另乙個序列中的多個值(用新列表擴充套件原來的列表)。

list['a','b']

list.extend(['c','d'])

len(list) 4

len(list) 5

list[-1] ['e','f']

list ['a','b','c','d',['e','f']]

a = ['1.5','5.3','4.4','4.2','23.4']

print(a)

a2 = ['12.4','23.5']

a2.extend('2')

print(a2)

a2.extend('23')

print(a2)

['1.5', '5.3', '4.4', '4.2', '23.4', '33.2']

['12.4', '23.5', '2']

['12.4', '23.5', '2', '2', '3']

sort()和sorted() 另一篇博文有介紹排序

Python基礎 列表 元組 字典

1.字串的定義 單引號 雙引號 三引號 三引號 輔助功能 注釋語句 2.字串使用場景 1.字串物件 2.路徑 3.url 3.字串拼接 print name is tom 4.序列 1.字串獲取元素 下標獲取 print 長度 len str1 print str1 len str1 1 2.字串不...

python基礎 列表,集合,元組,字典

目錄 1,如何安裝python3.6 2,列表 3,元組 4,集合 5,字典 解壓安裝包到 opt目錄 安裝編譯過程中需要的依賴包有 gcc,zlib,zlib devel,openssl devel 進入安裝包進行編譯 cd opt python3 prefix安裝路徑 with ssl 新增ss...

python基礎 列表 元組 字典(一)

python列表的定義citylist shanghai xian chongqing 12,19 10 列表種可以包含各種型別,也可以巢狀列表,使用下標獲取列表的元素,也可以使用切片取值,切片取值的結果也是乙個列表 獲取列表的長度len citylist 列表的增刪改查citylist shang...