亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對(duì)象和類

Python 日期和時(shí)間

Python 高級(jí)知識(shí)

Python 參考手冊(cè)

Python 數(shù)組

在本文中,您將學(xué)習(xí)Python數(shù)組,數(shù)組和列表之間的區(qū)別,以及如何以及何時(shí)使用示例來使用它們。

在編程中,數(shù)組是相同類型的元素的集合。

數(shù)組在Java,C / C ++,JavaScript等大多數(shù)編程語言中都很流行。但是,在Python中,它們并不常見。人們經(jīng)常談?wù)揚(yáng)ython數(shù)組時(shí),他們談?wù)摰氖荘ython列表。如果您如果不知道什么是列表,則絕對(duì)應(yīng)該查看Python列表文章。

Python列表和數(shù)組模塊作為數(shù)組

我們可以將列表視為數(shù)組。但是,我們不能限制列表中存儲(chǔ)的元素的類型。例如:

a = [1, 3.5, "Hello"]

如果使用array模塊創(chuàng)建數(shù)組 ,則數(shù)組的所有元素必須為相同的數(shù)字類型。

import array as arr
a = arr.array('d', [1, 3.5, "Hello"])   // Error

如何創(chuàng)建數(shù)組?

您可能從上面的示例中猜到了,我們需要導(dǎo)入array模塊以創(chuàng)建數(shù)組。例如:

import array as arr
a = arr.array('d', [1.1, 3.5, 4.5])
print(a)

在這里,我們創(chuàng)建了一個(gè)float類型數(shù)組。字母'd'是類型代碼。這確定了創(chuàng)建過程中數(shù)組的類型。

常用的類型代碼:

CodeC 類型Python 類型最小字節(jié)
'b'signed charint1
'B'unsigned charint1
'u'Py_UNICODEUnicode2
'h'signed shortint2
'H'unsigned shortint2
'i'signed intint2
'I'unsigned intint2
'l'signed longint4
'L'unsigned longint4
'f'floatfloat4
'd'doublefloat8

我們將不在本文中討論不同的C類型。在整篇文章中,我們將使用兩種類型代碼:'i'整數(shù)和'd'浮點(diǎn)數(shù)。

注意:'u'自版本3.3起,不推薦使用Unicode字符的類型代碼。盡可能避免使用它。

如何訪問數(shù)組元素?

我們使用索引來訪問數(shù)組的元素:

import array as arr
a = arr.array('i', [2, 4, 6, 8])

print("第一個(gè)元素:", a[0])
print("第二個(gè)元素:", a[1])
print("最后一個(gè)元素:", a[-1])

請(qǐng)記住,索引從0(而不是1)開始,類似于列表。

如何切片數(shù)組?

我們可以使用切片運(yùn)算符訪問數(shù)組中的一系列項(xiàng)目:。

import array as arr

numbers_list = [2, 5, 62, 5, 42, 52, 48, 5]
numbers_array = arr.array('i', numbers_list)

print(numbers_array[2:5]) # 第3-第5個(gè)元素
print(numbers_array[:-5]) # 從開始到第4個(gè)元素
print(numbers_array[5:])  # 從第6個(gè)元素到末尾
print(numbers_array[:])   # 從開始到末尾

運(yùn)行該程序時(shí),輸出為:

array('i', [62, 5, 42])
array('i', [2, 5, 62])
array('i', [52, 48, 5])
array('i', [2, 5, 62, 5, 42, 52, 48, 5])

如何更改或添加元素?

數(shù)組是可變的;它們的元素可以類似列表的方式進(jìn)行更改。

import array as arr

numbers = arr.array('i', [1, 2, 3, 5, 7, 10])

# 改變第一個(gè)元素
numbers[0] = 0    
print(numbers)     # 輸出: array('i', [0, 2, 3, 5, 7, 10])

# 改變第3到第5個(gè)元素
numbers[2:5] = arr.array('i', [4, 6, 8])   
print(numbers)     # 輸出: array('i', [0, 2, 4, 6, 8, 10])

我們可以使用append()方法將一個(gè)項(xiàng)目添加到列表中,或者使用extend()方法將多個(gè)項(xiàng)目添加到列表中  。

import array as arr

numbers = arr.array('i', [1, 2, 3])

numbers.append(4)
print(numbers)     # 輸出: array('i', [1, 2, 3, 4])

# extend()將iterable追加到數(shù)組的末尾
numbers.extend([5, 6, 7]) 
print(numbers)     # 輸出: array('i', [1, 2, 3, 4, 5, 6, 7])

我們可以使用+運(yùn)算符連接兩個(gè)數(shù)組。

import array as arr

odd = arr.array('i', [1, 3, 5])
even = arr.array('i', [2, 4, 6])

numbers = arr.array('i')   # 創(chuàng)建一個(gè)空的整數(shù)數(shù)組
numbers = odd + even

print(numbers)

如何移除/刪除元素?

我們可以使用Python的del語句從數(shù)組中刪除一個(gè)或多個(gè)項(xiàng)目。

import array as arr

number = arr.array('i', [1, 2, 3, 3, 4])

del number[2] # 刪除第三個(gè)元素
print(number) # 輸出: array('i', [1, 2, 3, 4])

del number # 刪除整個(gè)數(shù)組
print(number) # 錯(cuò)誤:沒有定義數(shù)組

我們可以使用remove()方法刪除給定項(xiàng)目,也可以使用  方法刪除給  pop()定索引處的項(xiàng)目。

import array as arr

numbers = arr.array('i', [10, 11, 12, 12, 13])

numbers.remove(12)
print(numbers)   # 輸出: array('i', [10, 11, 12, 13])

print(numbers.pop(2))   # 輸出: 12
print(numbers)   # 輸出: array('i', [10, 11, 13])

什么時(shí)候使用數(shù)組?

列表比數(shù)組靈活得多。它們可以存儲(chǔ)不同數(shù)據(jù)類型的元素,包括字符串。而且,列表比數(shù)組要快。而且,如果您需要對(duì)數(shù)組和矩陣進(jìn)行數(shù)學(xué)計(jì)算,則最好使用NumPy庫之類的方法。

除非您真的需要數(shù)組(與C代碼接口可能需要數(shù)組模塊),否則不要使用它們。