Hướng dẫn data [: 2 python - data [: 2 python

Chào mừng bạn đã quay trở lại với series Tự học Python trong 10 Phút.Tự học Python trong 10 Phút.

Bài trước bạn đã được hướng dẫn Tự học Python Cơ bản trong 10 Phút.Tự học Python Cơ bản trong 10 Phút.

Bạn đã hiểu nhanh về ngôn ngữ Python.

Hôm nay chúng ta hay đi sâu hơn với chủ đề "Làm việc với dữ liệu trong Python".Làm việc với dữ liệu trong Python".

Làm việc với Dữ liệu trong Python

* Mục tiêu vẫn là 10 Phút =]].

Không hề đùa chút nào. Nếu bạn học kỹ bài trước thì bài này chỉ cần 10 phút là bạn đọc xong thôi.

Mục lục bài viết:

1. Làm việc với List

    1.1. Làm việc với list bằng for

    1.2. Sắp xếp list

2. Làm việc với Tuples

3. Làm việc với Set

4. Làm việc với String

5. Làm việc với File

    5.1. Ví dụ: Đếm từ

6. List comprehensions [Nội suy List]

7. Làm việc với Dictionaries

    7.1. Ví dụ: Tính tần suất từ trong chuỗi

8. Hiểu hơn về môi trường thực thi của Python

Tổng kết Tự học Làm việc với dữ liệu trong Python

[* Click vào mục lục để chuyển đến phần tương ứng]

OK. Chúng ta cùng bắt đầu nào!

1. Làm việc với kiểu dữ liệu List trong Python

Bài trước chúng ta đã được tìm hiểu sơ qua về List. Hôm nay hãy cùng làm việc nhiều hơn với List nhé.List. Hôm nay hãy cùng làm việc nhiều hơn với List nhé.

> Bài này mình sẽ sử dụng command prompt bạn nhé. Bạn có thể sử dụng Pycharm nếu thích.command prompt bạn nhé. Bạn có thể sử dụng Pycharm nếu thích.

Một ví dụ nhanh về List:

>>> [1, 2, 3, 4]
[1, 2, 3, 4]
>>> ["hello", "world"]
["hello", "world"]
>>> [0, 1.5, "hello"]
[0, 1.5, "hello"]
>>> [0, 1.5, "hello"]
[0, 1.5, "hello"]

Một list có thể chứa một list khác như một thành viên của nó.

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]

Có một hàm được tích hợp sẵn trong Python gọi là

>>> x[0:-1]
[1, 2, 3]
1 có thể được sử dụng để tạo ra một dãy số nguyên liên tục:

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3

Lưu ý:

>>> x[0:-1]
[1, 2, 3]
2 sẽ tạo ra list
>>> x[0:-1]
[1, 2, 3]
3. Nó không bao gồm
>>> x[0:-1]
[1, 2, 3]
4.

Hàm

>>> x[0:-1]
[1, 2, 3]
5 [built-in function] cũng có thể được sử dụng để tính độ dài của list:

>>> a = [1, 2, 3, 4]
>>> len[a]
4

Và bạn cũng có thể sử dụng toán tử

>>> x[0:-1]
[1, 2, 3]
6 và toán tử
>>> x[0:-1]
[1, 2, 3]
7 với list:

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]

List là một tập hợp có thứ tự và có chỉ mục [index]. Chỉ số index được đánh từ

>>> x[0:-1]
[1, 2, 3]
8 đến
>>> x[0:-1]
[1, 2, 3]
9.

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2

Khi bạn sử dụng sai chỉ số index. Python sẽ thông báo lỗi:

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range

Các chỉ số âm có thể được sử dụng để lập chỉ mục danh sách từ bên phải, ví dụ:chỉ số âm có thể được sử dụng để lập chỉ mục danh sách từ bên phải, ví dụ:

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3

* Lưu ý: Lập chỉ mục từ bên phải với chỉ số âm thì -1 là phần tử cuối cùng của list, và cứ thế...

Bạn cũng có thể sử dụng kỹ thuật list slicing [cắt danh sách] để lấy một phần của list:

>>> x = [1, 2, 3, 4]
>>> x[0:2]
[1, 2]
>>> x[1:4]
[2, 3, 4]

* Lưu ý: Như bạn thấy, ví dụ trên cắt danh sách với

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
00. Kết quả trả về không bao gồm phần tử có chỉ số
>>> x[0:-1]
[1, 2, 3]
4.không bao gồm phần tử có chỉ số
>>> x[0:-1]
[1, 2, 3]
4.

Thậm chí chỉ số âm cũng có thể sử dụng trong kỹ thuật cắt lát danh sách [list slicing].

Cũng sử dụng danh sách

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
02 ở trên:

>>> x[0:-1]
[1, 2, 3]

Như bạn thấy thấy, kết quả trả về không có phần tử cuối cùng.

Vậy nên, trong trường hợp bạn muốn bỏ bớt một số phần tử ở cuối danh sách mà không chắc chắn có bao nhiều phần tử trong list thì có thể sử dụng chỉ số âm như ví dụ trên.

Ví dụ: Bỏ 2 phần tử ở cuối list x

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
0

Và bạn cũng có thể bỏ qua cả 2 chỉ số này luôn.

  • Nếu bỏ qua chỉ số đầu tiên thì nó mặc định cắt từ đầu list.
  • Nếu bỏ qua chỉ số cuối cùng thì nó mặc định cắt đến cuối list.
  • Nếu bỏ qua cả 2 thì nó cắt từ đầu đến cuối list

Ví dụ:

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
1

Kỹ thuật cắt chuỗi này còn có một chỉ số thứ 3 tùy chọn. Chỉ số này chỉ định phần tử tiếp theo được đếm như thế nào.

Ở ví dụ trước, phần tử tiếp theo mặc định là liên tiếp.

Nhưng nếu chúng ta muốn chỉ định cách cắt, vẫn hoàn toàn được:

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
2

Và với chỉ số tùy chọn thứ 3 này. Bạn có thể tận dụng nó để đảo ngược list.đảo ngược list.

* Đây là cách mọi người thường làm để đảo ngược list trong Python.đảo ngược list trong Python.

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
3

List là một tập hợp có thể chỉnh sửa.

Vì thế bạn có thể gán lại phần tử trong list:

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
4

Còn để kiểm tra sự tồn tại của phần tử có trong list hay không, chúng ta có toán tử

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
03

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
5

Đến đây có thể bạn tự hỏi: Thêm phần tử vào trong list có được không?

Câu trả lời là: Hoàn toàn được. Bởi vì list là tập hợp có thể chỉnh sửa mà.

Bạn có thể sử dụng phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
04 để thêm phần tử vào cuối list.

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
6

OK. Bây giờ bạn đã hiểu kha khá về list rồi đấy. Và trước làm việc với list sâu hơn. Hãy cùng giải quyết một bài tập nhỏ nào!làm việc với list sâu hơn. Hãy cùng giải quyết một bài tập nhỏ nào!

Bài tập 1: Kết quả của chương trình Python bên dưới đây là gì?: Kết quả của chương trình Python bên dưới đây là gì?

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
7

1.1. Làm việc với list bằng câu lệnh for

Python cung cấp câu lệnh

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
05 để lặp qua một danh sách.lặp qua một danh sách.

Một Câu lệnh for trong Python thực thi các đoạn code quy định cho tất cả các phần tử nằm trong một list.Câu lệnh for trong Python thực thi các đoạn code quy định cho tất cả các phần tử nằm trong một list.

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
8

Bạn thấy không. Python đề cao tính dễ đọc, dễ sử dụng nên code python hoạt động cũng giống như cách bạn đọc vậy.

  • Học làm chủ Python với Khóa học Python NIIT - ICT Hà Nội ngay hôm nay!Khóa học Python NIIT - ICT Hà Nội ngay hôm nay!

Chúng ta tiếp tục nào,

Nếu bạn muốn kết hợp 2 list thành các cặp thì bạn có thể sử dụng hàm tích hợp sẵn là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
06

Ví dụ:

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
9

Hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
06 trong Python rất hữu ích khi chúng ta muốn lặp qua hai danh sách cùng nhau.
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
06 trong Python
rất hữu ích khi chúng ta muốn lặp qua hai danh sách cùng nhau.

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
0

Trong bài viết này [và cả các khóa học tại NIIT] không chỉ mong muốn giúp bạn biết, mà còn mong muốn có kỹ năng viết code tốt.

Vì thế, hãy cùng giải quyết vài bài tập nào.

Bài tập 2: Nếu bạn muốn cộng tổng của tất cả các phần tử trong danh sách? Bạn có thể sử dụng hàm tích hợp sẵn trong Python là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
082: Nếu bạn muốn cộng tổng của tất cả các phần tử trong danh sách? Bạn có thể sử dụng hàm tích hợp sẵn trong Python là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
08

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
1

Bài tập 3: Vậy nếu trong ví dụ trên, chúng ta thay thế các phần tử bằng chuỗi thì sao?. Hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
08 vẫn làm việc tốt với danh sách các chuỗi.3: Vậy nếu trong ví dụ trên, chúng ta thay thế các phần tử bằng chuỗi thì sao?. Hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
08 vẫn làm việc tốt với danh sách các chuỗi.

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
2

Bài tập 4: Hãy định nghĩa một hàm tên là 

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
10 để tính số lượng sản phẩm trong một danh sách được cho sẵn.4: Hãy định nghĩa một hàm tên là 
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
10 để tính số lượng sản phẩm trong một danh sách được cho sẵn.

Khi gọi hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
10 như bên dưới thì cho kết quả:

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
3

Bài tập 5: Hãy viết một hàm có tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
12 để tính giai thừa của một số. Và liệu bạn có thể sử dụng hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
10 đã tạo ở trên để vận dụng tính giai thừa không?
5: Hãy viết một hàm có tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
12 để tính giai thừa của một số. Và liệu bạn có thể sử dụng hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
10 đã tạo ở trên để vận dụng tính giai thừa không?

Khi sử dụng hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
12 sẽ cho kết quả như vậy:

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
4

Bài tập 6: Hãy viết một hàm tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
15 để đảo ngược thứ tự của một list. Bạn có thể làm mà không cần kỹ thuật slicing không?6: Hãy viết một hàm tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
15 để đảo ngược thứ tự của một list. Bạn có thể làm mà không cần kỹ thuật slicing không?

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
5

Bài tập 7: Python có hàm tích hợp sẵn

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
16 và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
17 để tìm giá trị nhỏ nhất và giá trị lớn nhất ở trong một danh sách. Vậy nếu sử dụng
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
16 và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
17 cho một danh sách các chuỗi thì chuyện gì xảy ra?
7: Python có hàm tích hợp sẵn
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
16 và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
17 để tìm giá trị nhỏ nhất và giá trị lớn nhất ở trong một danh sách. Vậy nếu sử dụng
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
16 và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
17 cho một danh sách các chuỗi thì chuyện gì xảy ra?

Bài tập 8: Tổng tích lũy của một danh sách

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
20 là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
21. Hãy viết một hàm có tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
22 để tính tổng tích lũy của một list.
8: Tổng tích lũy của một danh sách
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
20 là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
21. Hãy viết một hàm có tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
22 để tính tổng tích lũy của một list.

*Câu hỏi phụ: Khai triển của bạn có làm việc với danh sách các chuỗi không?

Hãy làm thế nào để khi gọi hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
22 thì cho kết quả như sau:

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
6

Bài tập 9: Hãy viết một hàm tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
24 để tính tích lũy sản phẩm của một danh sách các số.9: Hãy viết một hàm tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
24 để tính tích lũy sản phẩm của một danh sách các số.

Để làm sao, khi gọi hàm cumulative_sum thì cho kết quả như sau:

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
7

Bài tập 10: Hãy viết hàm có tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
25 để tìm tất cả các phần tử duy nhất trong một danh sách:10: Hãy viết hàm có tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
25 để tìm tất cả các phần tử duy nhất trong một danh sách:

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
8

Bài tập 11: Viết một hàm có tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
26 để tìm tất cả các phần tử trùng lặp trong danh sách.11: Viết một hàm có tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
26 để tìm tất cả các phần tử trùng lặp trong danh sách.

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
9

Bài tập 12: Hãy viết một hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
27 lấy một list và chia nhỏ thành các list theo size [Mỗi size là một list có size phần tử được cắt ra từ list lớn]:12: Hãy viết một hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
27 lấy một list và chia nhỏ thành các list theo size [Mỗi size là một list có size phần tử được cắt ra từ list lớn]:

Viết thế nào để hàm group[list, size] cho kết quả như thế này:

>>> a = [1, 2, 3, 4]
>>> len[a]
4
0

1.2. Sắp xếp list trong Python

Khi lập trình, chúng ta thường xuyên phải sắp xếp dữ liệu theo những cách khác nhau.

Hãy cùng thử tìm hiểu cách sắp list trong Python xem thế nào nào.

Đầu tiên, Python cung cấp hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
28 để sắp xếp một list tại chỗ. [Có nghĩa là hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
28 sửa đổi ngay list được sắp xếp]

>>> a = [1, 2, 3, 4]
>>> len[a]
4
1

Hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
30 là một hàm trả về một list mới khi chưa được sắp xếp mà không sửa đổi list cũ.

Ví dụ:

>>> a = [1, 2, 3, 4]
>>> len[a]
4
2

Các hành vi sắp xếp của phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
28 và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
30 là như nhau. Ngoại trừ việc nó trả về danh sách mới hay là sửa đổi danh sách đã cho.

Phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
28 hoạt động ngay cả khi danh sách có các loại đối tượng khác nhau và thậm chí cả khi nó chứa danh sách con.

>>> a = [1, 2, 3, 4]
>>> len[a]
4
3

Chúng ta có thể tùy chọn sử dụng hàm sort theo key:

>>> a = [1, 2, 3, 4]
>>> len[a]
4
4

Hàm trên sắp xếp lại list a. Tuy nhiên, nó sắp xếp theo chỉ số của phần tử thứ 2 theo mỗi danh sách con trong a.

* Quay lại bài trước để tìm hiểu thêm về hàm lambada trong Python.

Bài tập 13: Hãy viết một hàm tên là lensort để sắp xếp dựa theo độ dài của từng chuỗi trong list.13: Hãy viết một hàm tên là lensort để sắp xếp dựa theo độ dài của từng chuỗi trong list.

>>> a = [1, 2, 3, 4]
>>> len[a]
4
5

Bài tập 14: Cải thiện hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
25 đã được viết trong Bài tập 10 để sử dụng tùy chọn hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
35 làm đối số và sử dụng giá trị trả về của hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
35 để kiểm tra tính duy nhất.
14: Cải thiện hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
25 đã được viết trong 
Bài tập 10 để sử dụng tùy chọn hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
35 làm đối số và sử dụng giá trị trả về của hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
35 để kiểm tra tính duy nhất.

Làm thế nào để khi sử dụng hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
25 với đối số
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
35 chúng ta có thể có kết quả như sau:

>>> a = [1, 2, 3, 4]
>>> len[a]
4
6

2. Làm việc với kiểu dữ liệu Tuples trong Python

Tuple là một loại tập hợp dữ liệu giống như list trong Python, nhưng Tuple là bất biến. là một loại tập hợp dữ liệu giống như list trong Python, nhưng Tuple là bất biến.

Một tuple bao gồm một số giá trị được phân tách bằng dấu phẩy.

Sử dụng ngoặc đơn là đặc trưng để tạo ra một Tuple:

>>> a = [1, 2, 3, 4]
>>> len[a]
4
7

Nhưng ngoặc đơn có thể có hoặc không.

>>> a = [1, 2, 3, 4]
>>> len[a]
4
8

Hàm tích hợp

>>> x[0:-1]
[1, 2, 3]
5 và kỹ thuật slicing cũng có thể áp dụng với kiểu dữ liệu Tuple:

>>> a = [1, 2, 3, 4]
>>> len[a]
4
9

Vì dấu ngoặc đơn được sử dụng để tạo ra một tuple, nên nếu bạn muốn tạo ra một tuple chỉ có 1 phần tử thì bạn có thể thêm một dấu phẩy.

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
0

Khi làm việc với Tuple bạn nên ghi nhớ là: Tuple là bất biến, vì thế các phương thức, hàm muốn thay đổi Tuple sẽ không áp dụng được.

3. Làm việc với kiểu dữ liệu Set trong Pyton

Một Set là kiểu dữ liệu được sử dụng cho tập hợp các phần tử duy nhất.

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
1

Kể từ Python 2.7. Chúng ta có thể tạo một set với ngoặc nhọn.

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
2

Phần tử mới cũng có thể được thêm vào Set bằng phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
40

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
3

Giống như các list, chúng ta có thể kiểm tra sự tồn tại của một phần tử bằng toán tử

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
03. Tuy nhiên, thao tác này nhanh hơn trong set.

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
4

Bài tập 15: Hãy viết lại hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
25 bằng cách sử dụng set. Bạn thấy thế nào?15: Hãy viết lại hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
25 bằng cách sử dụng set. Bạn thấy thế nào?

4. Làm việc với kiểu dữ liệu String trong Python

String [Chuỗi] cũng hành xử như list theo nhiều cách. [Chuỗi] cũng hành xử như list theo nhiều cách.

Bạn cũng có thể tìm độ dài của một chuỗi bằng hàm

>>> x[0:-1]
[1, 2, 3]
5.

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
5

Chỉ mục [indexing] và kỹ thuật Slicing cũng hành xử tương tự trong chuỗi.

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
6

Mình viết comment để bạn dễ hiểu. Trong command line / Terminal / Shell / Command Prompt thì các bạn bỏ comment đi nhé.

Trong Python toán tử

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
03 cũng có thể được sử dụng để kiểm tra một chuỗi có tồn tại trong chuỗi hay không.kiểm tra một chuỗi có tồn tại trong chuỗi hay không.

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
7

Ngoài

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
03, còn có rất nhiều phương thức hữu ích giúp bạn làm việc với chuỗi.

Phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
46 chia tách một chuỗi bằng cách sử dụng một dấu phân cách [Bạn có thể định nghĩa dấu phân cách này là cái gì]dấu phân cách [Bạn có thể định nghĩa dấu phân cách này là cái gì]

Nếu không có dấu phân cách được chỉ định, nó sử dụng bất kỳ khoảng trắng nào làm dấu phân cách.

Ví dụ: Phân tách chuỗi theo dấu phân cách mặc định

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
8

Đó, đó là cách

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
46 tách chuỗi.

Có tách thì phải có hợp chuỗi. Phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
48 được sử dụng để kết hợp một danh sách các chuỗi.

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a + b
[1, 2, 3, 4, 5]
>>> b * 3
[4, 5, 4, 5, 4, 5]
9

Bạn đoán xem, câu lệnh thứ 2 sẽ đem lại kết quả gì?

Phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
49 về một bản sao của chuỗi đã cho nhưng loại bỏ khoảng trắng ở đầu và cuối chuỗi.một bản sao của chuỗi đã cho nhưng loại bỏ khoảng trắng ở đầu và cuối chuỗi.

Hình như hơi tương tự giống như hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
50 trong một số ngôn ngữ khác nhỉ? :D

Tùy chọn truyền vào hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
49 một chuỗi sẽ xóa các ký tự được truyền khỏi chuỗi đã cho thay vì xóa khoảng trắng.

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
0

Thực thế, phương thức strip không chỉ xóa khoảng trắng, nó còn xóa cả tab, xuống dòng... [Tham khảo về strip tại đây]tại đây]

Thêm nữa, Python cũng hỗ trợ dạng giá trị vào chuỗi.

Mặc dù điều này có thể khá phức tạp, nhưng sử dụng cơ bản nhất là để chèn giá trị vào một chuỗi với %s [trình giữ chỗ].

Ví dụ:

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
1

Như bạn thấy, chúng ta sử dụng

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
52 và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
53 để giữ chỗ trong một chuỗi.

Sau đó tùy theo từng nhu cầu mà chúng ta điền giá trị vào chỗ mà ta đã giữ chỗ từ trước đó.

Bài tập 16: Hãy viết một hàm có tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
54 để sắp xếp danh sách các tệp tin dựa theo phần mở rộng của nó.16: Hãy viết một hàm có tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
54 để sắp xếp danh sách các tệp tin dựa theo phần mở rộng của nó.

Làm thế nào để khi gọi hàm chúng ta có kết quả:

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
2

5. Làm việc với File trong Python.

Làm việc với file là một phần quan trọng khi lập trình. Python cung cấp một hàm được tích hợp sẵn là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
55, nó sẽ trả về đối tượng tập tin.

Nó cũng cho thêm phép đối số tùy chọn, ví dụ:

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
3

Đối số thứ 2 nếu không được truyền thì mặc định là 'r'. 

Có một lưu ý là: Hệ điều hành Unix không phân biệt tệp nhị phân với tệp văn bản nhưng Windows thì có.

Vì thế, trên Windows khi làm việc với tập tin nhị phân thì chúng ta thêm đối số như sau:

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
56,
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
57,
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
58...

Cũng có một cách dễ dàng để đọc nội dung của một tập tin là sử dụng phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
59

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
4

Nội dung của một tập tin có thể được đọc theo dòng / nhiều dòng bằng cách sử dụng các phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
60 và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
61.

Phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
60 trả về chuỗi rỗng khi không còn gì để đọc trong tệp.

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
5

Phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
63 được sử dụng để viết dữ liệu vào một file đã được mở ở chế độ
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
63 hoặc là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
04.

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
6

Phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
66 được sử dụng để khi dữ liệu có sẵn dưới dạng danh sách các dòng.

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
7 5.1. Ví dụ về đếm từ trong File

5.1. Ví dụ về đếm từ trong File

Hãy thử viết chương trình tính số lượng ký tự, số lượng từ và số dòng trong một tệp.

Số lượng ký tự trong một tệp giống như cách tính độ dài nội dung của nó.

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
8

Số từ trong một tập tin có thể được tìm thấy bằng cách tách nội dung của các tập tin dựa trên khoảng trắng.

>>> x = [1, 2]
# Phần tử đầu tiên có chỉ số là 0
>>> x[0]
1
# Phần tử thứ 2
# có chỉ số là len[x] - 1
>>> x[1]
2
9

Số dòng trong một tập tin có thể được tìm thấy từ phương thức

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
61

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
0

Bài tập 17: Hãy viết một chương trình lưu trong tệp

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
68 để in các dòng của tập tin theo thứ tự ngược lại.17: Hãy viết một chương trình lưu trong tệp
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
68 để in các dòng của tập tin theo thứ tự ngược lại.

Bài tập 18: Viết các hàm có tên là 

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
69 và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
70 để lấy một tệp làm đối số và in 10 dòng đầu tiên và 10 dòng cuối cùng của tệp tương ứng.
18: Viết các hàm có tên là 
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
69 và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
70 để lấy một tệp làm đối số và in 10 dòng đầu tiên và 10 dòng cuối cùng của tệp tương ứng.

Bài tập 19: Viết hàm có tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
71 lấy một chuỗi và một tệp làm đối số và in tất cả các dòng trong tệp có chứa chuỗi đã chỉ định.19: Viết hàm có tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
71 lấy một chuỗi và một tệp làm đối số và in tất cả các dòng trong tệp có chứa chuỗi đã chỉ định.

Bài tập 20: Viết một chương trình

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
72 lấy tên tệp và
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
73 làm đối số để xuống dòng nếu câu đó có độ dài lớn hơn
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
73.
20: Viết một chương trình
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
72 lấy tên tệp
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
73 làm đối số để xuống dòng nếu câu đó có độ dài lớn hơn
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
73.

Bài tập 21: Chương trình

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
72 ở trên có thể sẽ không đẹp lắm vì nó có thể ngắt dòng ở giữa bất kỳ từ nào.21: Chương trình
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
72 ở trên có thể sẽ không đẹp lắm vì nó có thể ngắt dòng ở giữa bất kỳ từ nào.

Ví dụ: Câu "Tu hoc lap trinh Python trong 10 phut" bị ngắt như thế này "Tu hoc lap trinh Python tro ng 10 phut"
"Tu hoc lap trinh Python tro
ng 10 phut"

Vì thế, bạn có thể viết một chương trình

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
76 mới hoạt động như wrap.py, nhưng chỉ ngắt dòng mà không làm gãy các từ?

Bài tập 22: Viết một chương trình có tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
77 để căn giữa tất cả các dòng trong tập tin nào đó.22: Viết một chương trình có tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
77 để căn giữa tất cả các dòng trong tập tin nào đó.

6. List comprehensions

List comprehension [nội suy List] là một cách ngắn gọn để tạo list. [nội suy List] là một cách ngắn gọn để tạo list.

Thay vì nhiều tác vụ phức tạp, với cách nội suy list, list có thể được mô hình hóa trong một dòng duy nhất.

Đây là một số ví dụ đơn giản để chuyển đổi một list:

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
1

Bạn cũng có thể thực hiện lọc một list bằng cách sử dụng

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
78 trong khi nội suy list.

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
2 Lại phải nhấn mạnh điều này. Một điều mà mình thấy yêu thích Python là vì nó hoạt động đúng như những gì chúng ta đọc. Bạn có thấy như thế không?

Lại phải nhấn mạnh điều này. Một điều mà mình thấy yêu thích Python là vì nó hoạt động đúng như những gì chúng ta đọc. Bạn có thấy như thế không?

Bạn cũng có thể lặp lại qua nhiều list bằng cách sử dụng hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
06 được tích hợp sẵn.

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
3

Không chỉ sử cụng

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
78,
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
06. Chúng ta còn có thể sử dụng vòng lặp
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
05 trong khi nội suy list nữa.

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
4

Ví dụ sau đây tìm thấy tất cả các bộ ba số nhỏ hơn 25 thỏa mãn định lý Py-ta-go.

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
83 là một bộ ba Pythagore nếu
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
84.

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
5

Bài tập 23: Chúng ta đã biết cách làm việc của hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
06. Vậy bây giờ, hãy viết một khai triển sử dụng cách nội suy list để có được hiệu quả như hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
06 xem nào:
23: Chúng ta đã biết cách làm việc của hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
06. Vậy bây giờ, hãy viết một khai triển sử dụng cách nội suy list để có được hiệu quả như hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
06 xem nào:

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
6

Bài tập 24: Python cung cấp một hàm tích hợp là map để áp dụng một hàm cho từng phần tử trong list. Hãy viết một khai triển cho map sử dụng cách nội suy list.24: Python cung cấp một hàm tích hợp là map để áp dụng một hàm cho từng phần tử trong list. Hãy viết một khai triển cho map sử dụng cách nội suy list.

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
7

Bài tập 25: Python cung cấp một hàm tích hợp là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
87 nó trả về items của a khi
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
88 là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
89.
25: Python cung cấp một hàm tích hợp là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
87 nó trả về items của a khi
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
88 là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
89.

Hãy viết một khai triển cho

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
90 sử dụng cách nội suy list.

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
8

Bài tập 26: Viết một hàm tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
91 lấy một số
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
92 làm đối số và trả về một danh sách các bộ ba số sao cho tổng của hai phần tử đầu tiên của bộ ba bằng với phần tử thứ ba sử dụng các số nhỏ hơn
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
92.
26: Viết một hàm tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
91 lấy một số
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
92 làm đối số và trả về một danh sách các bộ ba số sao cho tổng của hai phần tử đầu tiên của bộ ba bằng với phần tử thứ ba sử dụng các số nhỏ hơn
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
92.

Xin lưu ý rằng [a, b, c] và [b, a, c] đại diện cho cùng một bộ ba.

>>> x = [1, 2, 3, 4]
>>> x[6]
Traceback [most recent call last]:
  File "", line 1, in ?
IndexError: list index out of range
9

Bài tập 27: Viết một hàm

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
94 lấy một list và trả về một list các bộ dữ liệu chứa
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
95 cho mỗi item trong  list.
27: Viết một hàm
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
94 lấy một list và trả về một list các bộ dữ liệu chứa
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
95 cho mỗi item trong  list.

Ví dụ:

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
0

Bài tập 28: Viết một hàm tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
96 để tạo một mảng 2 chiều. Hàm sẽ lấy 2 đối số để xác định kích thước của mảng. Giá trị của mỗi phần tử có thể khởi tạo ban đầu là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
97.
28: Viết một hàm tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
96 để tạo một mảng 2 chiều. Hàm sẽ lấy 2 đối số để xác định kích thước của mảng. Giá trị của mỗi phần tử có thể khởi tạo ban đầu là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
97.

Kết quả nên như thế này:

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
1

Bài tập 29: Viết một hàm là parse_csv để phân tích tệp csv [nội csv dung được phân tác bằng dấu phẩy

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
98 ]: Viết một hàm là parse_csv để phân tích tệp csv [nội csv dung được phân tác bằng dấu phẩy
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
98 ]

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
2

Bài tập 30: Thực hiện biến giải pháp bên trên thành tổng quát hóa. Có nghĩa là chương trình có thể hỗ trợ phân tích tệp csv với bất kỳ dấu phân tách nào.30: Thực hiện biến giải pháp bên trên thành tổng quát hóa. Có nghĩa là chương trình có thể hỗ trợ phân tích tệp csv với bất kỳ dấu phân tách nào.

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
3

7. Làm việc với Kiểu dữ liệu Dictionaries trong Python

Dictionaries giống như List, nhưng chúng cũng có thể được lập chỉ mục với các

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
35 không phải kiểu int.giống như List, nhưng chúng cũng có thể được lập chỉ mục với các
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
35 không phải kiểu int.

Không giống như list, dữ liệu kiểu dictionaries không có thứ tự.

Ví dụ:

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
4

Bài tập 28: Viết một hàm tên là

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
96 để tạo một mảng 2 chiều. Hàm sẽ lấy 2 đối số để xác định kích thước của mảng. Giá trị của mỗi phần tử có thể khởi tạo ban đầu là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
97.

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
5
  • Kết quả nên như thế này:
  • Bài tập 29: Viết một hàm là parse_csv để phân tích tệp csv [nội csv dung được phân tác bằng dấu phẩy
    >>> a = [1, 2]
    >>> b = [1.5, 2, a]
    >>> b
    [1.5, 2, [1, 2]]
    98 ]
  • Bài tập 30: Thực hiện biến giải pháp bên trên thành tổng quát hóa. Có nghĩa là chương trình có thể hỗ trợ phân tích tệp csv với bất kỳ dấu phân tách nào.

7. Làm việc với Kiểu dữ liệu Dictionaries trong Python

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
6
>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
7

Dictionaries giống như List, nhưng chúng cũng có thể được lập chỉ mục với các

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
35 không phải kiểu int.

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
8

Không giống như list, dữ liệu kiểu dictionaries không có thứ tự.

>>> x = [1, 2, 3, 4]
>>> x[-1]
4
>>> x [-2]
3
9

Từ khóa

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
00 có thể được sử dụng để xóa một item khỏi dictionary.

Từ khóa keys trả về tất cả các key của dictionary.

Từ khóa values trả về tất cả các value của dictionary.

  • Phương thức items trả về tất cả cặp key - value của dictionary.
  • Ví dụ minh họa:

Câu lệnh

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
05 được sử dụng để lặp qua một dictionary.
>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
11

Sự hiện diện của một

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
35 trong dictionary có thể được kiểm tra bằng toán tử
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
03 hoặc phương thức
>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
04.

  • Một vài phương thức khác hay sử dụng với dictionaries là
    >>> x = range[1, 4]
    >>> x
    range[1, 4]
    >>> x[0]
    1
    >>> len[x]
    3
    05 và
    >>> x = range[1, 4]
    >>> x
    range[1, 4]
    >>> x[0]
    1
    >>> len[x]
    3
    06.
  • Cú pháp get:
    >>> x = range[1, 4]
    >>> x
    range[1, 4]
    >>> x[0]
    1
    >>> len[x]
    3
    07
>>> x = [1, 2, 3, 4]
>>> x[0:2]
[1, 2]
>>> x[1:4]
[2, 3, 4]
0

Trong đó:

Ví dụ:

>>> x = [1, 2, 3, 4]
>>> x[0:2]
[1, 2]
>>> x[1:4]
[2, 3, 4]
1

Bài tập 28: Viết một hàm tên là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
96 để tạo một mảng 2 chiều. Hàm sẽ lấy 2 đối số để xác định kích thước của mảng. Giá trị của mỗi phần tử có thể khởi tạo ban đầu là
>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
97.

Kết quả nên như thế này:

Bài tập 29: Viết một hàm là parse_csv để phân tích tệp csv [nội csv dung được phân tác bằng dấu phẩy

>>> a = [1, 2]
>>> b = [1.5, 2, a]
>>> b
[1.5, 2, [1, 2]]
98 ]

>>> x = [1, 2, 3, 4]
>>> x[0:2]
[1, 2]
>>> x[1:4]
[2, 3, 4]
2

Bài tập 30: Thực hiện biến giải pháp bên trên thành tổng quát hóa. Có nghĩa là chương trình có thể hỗ trợ phân tích tệp csv với bất kỳ dấu phân tách nào.

>>> x = [1, 2, 3, 4]
>>> x[0:2]
[1, 2]
>>> x[1:4]
[2, 3, 4]
3

Chúng ta có thể kết hợp hai hàm này để tìm tần suất của tất cả các từ trong một tệp.

>>> x = [1, 2, 3, 4]
>>> x[0:2]
[1, 2]
>>> x[1:4]
[2, 3, 4]
4

Bây giờ, hãy cùng giải quyết một số bài tập nào!

Bài tập 31: Cải thiện chương trình trên để in ra các từ theo thứ tự giảm dần của số lần xuất hiện.31: Cải thiện chương trình trên để in ra các từ theo thứ tự giảm dần của số lần xuất hiện.

Bài tập 31: Viết chương trình đếm tần suất ký tự trong một tệp đã cho. Bạn có thể sử dụng tần suất ký tự để cho biết tệp đã cho là tệp mã Python, tệp mã C hay tệp văn bản thông thường hay không?31: Viết chương trình đếm tần suất ký tự trong một tệp đã cho. Bạn có thể sử dụng tần suất ký tự để cho biết tệp đã cho là tệp mã Python, tệp mã C hay tệp văn bản thông thường hay không?

Bài tập 32: Viết chương trình tìm đảo chữ cái trong một danh sách các từ đã cho. Hai từ được gọi là đảo chữ nếu một từ có thể được hình thành bằng cách sắp xếp lại các chữ cái khác. Ví dụ: 'eat', 'ate' và 'tea' là đảo chữ.32: Viết chương trình tìm đảo chữ cái trong một danh sách các từ đã cho. Hai từ được gọi là đảo chữ nếu một từ có thể được hình thành bằng cách sắp xếp lại các chữ cái khác. Ví dụ: 'eat', 'ate' và 'tea' là đảo chữ.

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

Bài tập 33: Hãy viết một hàm có tên là valuesort để sắp xếp thứ tự của dictionary theo key:33: Hãy viết một hàm có tên là valuesort để sắp xếp thứ tự của dictionary theo key:

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

Bài tập 34: Viết hàm

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
15 để hoán đổi các key và value trong một dictionary. Để đơn giản, giả sử rằng tất cả các giá trị là duy nhất.34: Viết hàm
>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
15 để hoán đổi các key và value trong một dictionary. Để đơn giản, giả sử rằng tất cả các giá trị là duy nhất.

Kết quả chương trình nên là như thế này:

>>> x = [1, 2, 3, 4]
>>> x[0:2]
[1, 2]
>>> x[1:4]
[2, 3, 4]
7

8. Hiểu hơn về môi trường thực thi của Python

Python lưu trữ các biến chúng ta sử dụng như là một dictionary. Hàm

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
16 trả về tất cả các biến toàn cục trong môi trường hiện tại.

>>> x = [1, 2, 3, 4]
>>> x[0:2]
[1, 2]
>>> x[1:4]
[2, 3, 4]
8

Giống như

>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
17, python cũng cung cấp một hàm
>>> x = range[1, 4]
>>> x
range[1, 4]
>>> x[0]
1
>>> len[x]
3
18 cung cấp tất cả các biến cục bộ trong một hàm.

>>> x = [1, 2, 3, 4]
>>> x[0:2]
[1, 2]
>>> x[1:4]
[2, 3, 4]
9

Thêm một ví dụ khác:

>>> x[0:-1]
[1, 2, 3]
0

Tổng kết Tự học Làm việc với dữ liệu trong Python

Chúc mừng bạn, bạn đã tiến thêm một bước dài nữa để chinh phục Python bởi vì,...

Làm việc với dữ liệu là cực kỳ một phần cực kỳ quan trọng trong Lập trình Python nói riêng và Lập trình nói chung.

Mặc dù bài tự học Làm việc với dữ liệu trong Python này chưa đầy đủ nhưng mình hi vọng nó cung cấp cho bạn một bước đệm để hòa nhập [Phần lớn các ví dụ này là dễ hiểu và được sử dụng phổ biến] và nền tảng để tự tìm hiểu, phát triển thêm.Làm việc với dữ liệu trong Python này chưa đầy đủ nhưng mình hi vọng nó cung cấp cho bạn một bước đệm để hòa nhập [Phần lớn các ví dụ này là dễ hiểu và được sử dụng phổ biến] và nền tảng để tự tìm hiểu, phát triển thêm.

Khả năng của Python là vô cùng lớn, Python tại Việt Nam mới chỉ đang phát triển ở giai đoạn đầu. HỌC PYTHON ngay bây giờ để trở thành những người tiên phong, nắm giữ lợi thế đi đầu của ngôn ngữ đang HOT nhất trên thế giới này.HỌC PYTHON ngay bây giờ để trở thành những người tiên phong, nắm giữ lợi thế đi đầu của ngôn ngữ đang HOT nhất trên thế giới này.

Chúc bạn học Python tốt!

* Tham khảo: //www.python.org/doc///www.python.org/doc/

---

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI

Học Lập trình chất lượng cao [Since 2002]. Học làm Lập trình viên. Hành động ngay!

Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội

SĐT: 02435574074 - 0914939543

Email:

Fanpage: //facebook.com/NIIT.ICT/

#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #python #java #php


Bài Viết Liên Quan

Chủ Đề