Sự khác nhau giữa mảng NumPy và list là gì?

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Kirill Smirnov

Data Science Consultant, Altran

Mảng NumPy

import numpy as np
num_array = np.array([1, 2, 3, 4, 5])
print(num_array)
[1 2 3 4 5]
num_list = [1, 2, 3, 4, 5]
print(num_list)
[1, 2, 3, 4, 5]
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Tương đồng giữa mảng và list

num_array = np.array([1, 2, 3, 4, 5])
for item in num_array:
    print(item)
1
2
3
4
5
num_list = [1, 2, 3, 4, 5]
for item in num_list:
    print(item)
1
2
3
4
5
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Tương đồng giữa mảng và list

num_array = np.array([1, 2, 3, 4, 5])
num_array[1]
2
num_array[1:4]
array([2, 3, 4])
num_list = [1, 2, 3, 4, 5]
num_list[1]
2
num_list[1:4]
[2, 3, 4]
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Tương đồng giữa mảng và list

num_array = np.array([1, 2, 3, 4, 5])
num_array[3] = 40
print(num_array)
[1 2 3 40 5]
num_array[0:3] = [10, 20, 30]
print(num_array)
[10 20 30 40 5]
num_list = [1, 2, 3, 4, 5]
num_list[3] = 40
print(num_list)
[1, 2, 3, 40, 5]
num_list[0:3] = [10, 20, 30]
print(num_list)
[10, 20, 30, 40, 5]
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Khác nhau giữa mảng và list

Mảng NumPy tối ưu cho tính toán hiệu năng cao

  • Mảng NumPy lưu giá trị cùng kiểu
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Thuộc tính .dtype

num_array = np.array([1, 2, 3, 4, 5])
num_array.dtype
dtype('int64')
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Thay đổi kiểu dữ liệu của phần tử

num_array = np.array([1, 2, 3, 4, 5])
num_array[2] = 'three'
ValueError
num_list = [1, 2, 3, 4, 5]
num_list[2] = 'three'
print(num_list)
[1, 2, 'three', 4, 5]
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Chỉ định kiểu dữ liệu tường minh

num_array = np.array([1, 2, 3, 4, 5])
num_array = np.array([1, 2, 3, 4, 5], dtype = np.dtype('int64'))
print(num_array)
[1 2 3 4 5]
num_array.dtype
dtype('int64')
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Chỉ định kiểu dữ liệu tường minh

num_array = np.array([1, 2, 3, 4, 5])
num_array = np.array([1, 2, 3, 4, 5], dtype = np.dtype('str'))
print(num_array)
['1' '2' '3' '4' '5']
num_array.dtype
dtype('<U1')
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Kiểu object

num_array = np.array([1, 2, 3, 4, 5], dtype = np.dtype('O'))
num_array[2] = 'three'
print(num_array)
[1 2 'three' 4 5]
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Khác nhau giữa mảng và list

Mảng NumPy tối ưu cho tính toán hiệu năng cao

  • Mảng NumPy lưu giá trị có kiểu dữ liệu cụ thể
  • Mảng NumPy có cách truy cập phần tử riêng
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Truy cập phần tử

list2d = [
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
]
# Lấy 8
list2d[1][2]
8
array2d = np.array([
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
])
# Lấy 8
array2d[1][2]
8
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Truy cập phần tử

list2d = [
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
]
# Lấy 8
list2d[1][2]
8
array2d = np.array([
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
])
# Lấy 8
array2d[1, 2]
8
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Truy cập phần tử

list2d = [
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
]
# Lấy [[2, 3, 4], [7, 8, 9]]
array2d = np.array([
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
])
# Lấy [[2, 3, 4], [7, 8, 9]]
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Truy cập phần tử

list2d = [
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
]
# Lấy [[2, 3, 4], [7, 8, 9]]
[
    [list2d[j][1:4] for j in range(0, 2)]
]
[[2, 3, 4], [7, 8, 9]]
array2d = np.array([
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
])
# Lấy [[2, 3, 4], [7, 8, 9]]
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Truy cập phần tử

list2d = [
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
]
# Lấy [[2, 3, 4], [7, 8, 9]]
[
    [list2d[j][1:4] for j in range(0, 2)]
]
[[2, 3, 4], [7, 8, 9]]
array2d = np.array([
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15]
])
# Lấy [[2, 3, 4], [7, 8, 9]]
array2d[0:2, 1:4]
array([[2, 3, 4],
       [7, 8, 9]])
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Khác nhau giữa mảng và list

Mảng NumPy tối ưu cho tính toán hiệu năng cao

  • Mảng NumPy lưu giá trị có kiểu dữ liệu cụ thể
  • Mảng NumPy có cách truy cập phần tử riêng
  • Mảng NumPy hỗ trợ phép toán hiệu quả.
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Phép toán +, -, *, / với list

num_list1 = [1, 2, 3]
num_list2 = [10, 20, 30]
num_list1 + num_list2
[1, 2, 3, 10, 20, 30]
num_list2 - num_list1
TypeError
num_list1 * num_list2
TypError
num_list2 / num_list1
TypeError
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Phép toán +, -, *, / với mảng

num_array1 = np.array([1, 2, 3])
num_array2 = np.array([10, 20, 30])
num_array1 + num_array2
array([11, 22, 33])
num_array2 - num_array1
array([9, 18, 27])
num_array1 * num_array2
array([10, 40, 90])
num_array2 / num_array1
array([10, 10, 10])
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Phép toán +, -, *, / với mảng đa chiều

num_array1 = np.array([
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13,14, 15]
])
num_array2 = np.array([
    [10, 20, 30, 40, 50],
    [60, 70, 80, 90, 100],
    [110, 120, 130,140, 150]
])
num_array1 + num_array2
array([[ 11,  22,  33,  44,  55],
       [ 66,  77,  88,  99, 110],
       [121, 132, 143, 154, 165]])
num_array2 / num_array1
array([[10., 10., 10., 10., 10.],
       [10., 10., 10., 10., 10.],
       [10., 10., 10., 10., 10.]])
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Toán tử điều kiện

>, <, >=, <=, ==, !=

num_array = np.array([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5])
num_array < 0
array([True,  True,  True, False, False, False, False])
num_array[num_array < 0]
array([-5, -4, -3, -2, -1])
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Broadcasting

num_array = np.array([1, 2, 3])
num_array * 3
array([3, 6, 9])
num_array + 3
array([4, 5, 6])
num_list = [1, 2, 3]
num_list * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Broadcasting với mảng đa chiều

array2d $\left(3 \text{ x } 4\right)$

array2d = np.array([
    [1, 2, 3, 4],
    [1, 2, 3, 4],
    [1, 2, 3, 4]
])

array1d $\left(1 \text{ x } 4\right)$

array1d = np.array([1, 2, 3, 4])
array2d / array1d
array([[1., 1., 1., 1.],
       [1., 1., 1., 1.],
       [1., 1., 1., 1.]])
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Broadcasting với mảng đa chiều

array2d $\left(3 \text{ x } 4\right)$

array2d = np.array([
    [1, 2, 3, 4],
    [1, 2, 3, 4],
    [1, 2, 3, 4]
])

array1d $\left(3 \text{ x } 1\right)$

array1d = np.array([[1], [2], [3]])
array2d / array1d
array([[1.   , 2.   , 3.   , 4.   ],
       [0.5  , 1.   , 1.5  , 2.   ],
       [0.333, 0.667, 1.   , 1.333]])
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Ayo berlatih!

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Preparing Video For Download...