Cấu trúc dữ liệu cơ bản nhất trong Python là dãy. Mỗi phần tử của một chuỗi được gán một số - vị trí hoặc chỉ số của nó. Chỉ số đầu tiên bằng 0, chỉ số thứ hai là một, v.v.
Python có sáu loại trình tự tích hợp sẵn, nhưng những loại phổ biến nhất là danh sách và bộ dữ liệu, mà chúng ta sẽ thấy trong hướng dẫn này
Có một số điều bạn có thể làm với tất cả các loại trình tự. Các hoạt động này bao gồm lập chỉ mục, cắt, thêm, nhân và kiểm tra tư cách thành viên. Ngoài ra, Python có các hàm tích hợp để tìm độ dài của một chuỗi và tìm các phần tử lớn nhất và nhỏ nhất của nó
Danh sách Python
Danh sách này là kiểu dữ liệu linh hoạt nhất có sẵn trong Python, có thể được viết dưới dạng danh sách các giá trị [mục] được phân tách bằng dấu phẩy giữa các dấu ngoặc vuông. Điều quan trọng về danh sách là các mục trong danh sách không nhất thiết phải cùng loại
Tạo danh sách đơn giản như đặt các giá trị được phân tách bằng dấu phẩy khác nhau giữa các dấu ngoặc vuông. Ví dụ -
list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"];
Tương tự như chỉ mục chuỗi, chỉ mục danh sách bắt đầu từ 0 và danh sách có thể được cắt, nối, v.v.
Truy cập các giá trị trong danh sách
Để truy cập các giá trị trong danh sách, hãy sử dụng dấu ngoặc vuông để cắt cùng với chỉ mục hoặc các chỉ mục để lấy giá trị có sẵn tại chỉ mục đó. Ví dụ -
#!/usr/bin/python3 list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7 ] print ["list1[0]: ", list1[0]] print ["list2[1:5]: ", list2[1:5]]
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
list1[0]: physics list2[1:5]: [2, 3, 4, 5]
Cập nhật danh sách
Bạn có thể cập nhật một hoặc nhiều phần tử của danh sách bằng cách đưa lát cắt ở phía bên trái của toán tử gán và bạn có thể thêm vào các phần tử trong danh sách bằng phương thức append[]. Ví dụ -
#!/usr/bin/python3 list = ['physics', 'chemistry', 1997, 2000] print ["Value available at index 2 : ", list[2]] list[2] = 2001 print ["New value available at index 2 : ", list[2]]
Lưu ý - Phương thức append[] được thảo luận trong phần tiếp theo
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
Value available at index 2 : 1997 New value available at index 2 : 2001
Xóa phần tử danh sách
Để xóa một phần tử danh sách, bạn có thể sử dụng câu lệnh del nếu bạn biết chính xác [những] phần tử nào bạn đang xóa. Bạn có thể sử dụng phương thức remove[] nếu không biết chính xác mục nào cần xóa. Ví dụ -
#!/usr/bin/python3 list = ['physics', 'chemistry', 1997, 2000] print [list] del list[2] print ["After deleting value at index 2 : ", list]
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]
Lưu ý - phương thức remove[] được thảo luận trong phần tiếp theo
Hoạt động danh sách cơ bản
Các danh sách phản hồi các toán tử + và * giống như các chuỗi;
Trên thực tế, các danh sách đáp ứng tất cả các thao tác trình tự chung mà chúng ta đã sử dụng trên các chuỗi trong chương trước
Phương thức insert[] chứa hai đối số. Đối số đầu tiên lấy giá trị vị trí mà mục mới sẽ được chèn vào. Đối số thứ hai lấy giá trị mục mới
Thí dụ
Trong đoạn mã sau, một biến danh sách có 7 mục được khai báo. Tiếp theo, phương thức insert[] được sử dụng để chèn item mới, ‘Processor’ vào vị trí 1. Danh sách được in trước và sau khi chèn mục mới
#. /usr/bin/env python3
# Xác định danh sách chuỗi
Listdata = ['HDD', 'motherboard', 'Printer', 'Scanner', 'Mouse', 'Keyboard','RAM']
# print the list
print["\nThe list before insert:\n ", Dữ liệu danh sách .
# Insert a new item in the list
Listdata.chèn[1,' . ]
# print the list after insert
print["\nThe list after insert:\n ", Dữ liệu danh sách ]
đầu ra
Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh từ spyder. Danh sách ban đầu và danh sách sau khi thực hiện phương thức insert[] được in tại đây
2. nối thêm []
Phương thức append[] được sử dụng để chèn một mục mới vào cuối danh sách
cú pháp
danh sách . chắp thêm [ mục ]
Phương thức này lấy giá trị mới làm đối số sẽ được chèn vào cuối danh sách
Thí dụ
Trong tập lệnh sau, một danh sách có tên stdList được khai báo với các loại dữ liệu khác nhau chứa các giá trị chuỗi và số. Tiếp theo, phương thức append[] được sử dụng để chèn một số thực vào cuối danh sách. Danh sách được in trước và sau khi thêm dữ liệu mới
#. /usr/bin/env python3
# Xác định danh sách
stdList = [ . 'Mir Subbir', 'CSE', 46, 9]
# print the list
print["\nThe list before append:\n ", stdList .
# Append a new item in the list
stdList.nối thêm[3. 85]
# in danh sách sau khi nối thêm
in["\nThe list after append:\n ", stdList ]
đầu ra
Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh từ spyder. Danh sách ban đầu và danh sách sau khi thực hiện phương thức []append được in tại đây
3. gỡ bỏ[]
Phương thức remove[] được sử dụng để xóa một mục cụ thể khỏi danh sách
cú pháp
danh sách . xóa[ mục ]
Phương thức này lấy giá trị mục làm đối số sẽ bị xóa khỏi danh sách, nếu nó tồn tại. Nếu giá trị mục không tồn tại trong danh sách, thì ValueError sẽ được tạo
Thí dụ
Danh sách 6 giá trị chuỗi được xác định trong tập lệnh sau. Tiếp theo, một giá trị chuỗi sẽ được lấy làm đầu vào cần tìm và xóa khỏi danh sách. Phương thức viết hoa [] được sử dụng trong tập lệnh để khớp giá trị đầu vào với mục danh sách, trong đó ký tự đầu tiên của mỗi mục được viết hoa. Danh sách sẽ được in trước và sau khi xóa mục khỏi danh sách. Ở đây, khối try-ngoại trừ được sử dụng để xử lý phản hồi ValueError
#. /usr/bin/env python3
# Xác định danh sách tên trái cây
listdata = ['Mango', 'Banana', 'Orange', 'grape', 'Guava', 'Watermelon']
# Print the list
print["List before remove:\n ", dữ liệu danh sách . "
remove_item = input["Enter the fruit name to remove:"]
thử .
# Xóa một mục khỏi danh sách nếu tồn tại
listdata. xóa[ remove_item. viết hoa[]]
< . # Print the list after remove
print["\nList after remove:\n ", dữ liệu danh sách .
except ValueError:
in["Mục không tồn tại trong danh sách"]
đầu ra
Sau khi chạy tập lệnh, danh sách sẽ được in và yêu cầu người dùng nhập liệu. 'Ổi' được lấy làm đầu vào tồn tại trong danh sách. Giá trị này được xóa khỏi danh sách và danh sách đã sửa đổi sau đó được in
4. gia hạn[]
Phương thức mở rộng[] được sử dụng để hợp nhất hai mục danh sách và lưu trữ các mục đã hợp nhất trong danh sách đầu tiên
cú pháp
first_list. gia hạn[ second_list ]
Phương thức này lấy danh sách thứ hai làm đối số và thêm các giá trị của danh sách thứ hai vào cuối danh sách đầu tiên
Thí dụ
Hai danh sách có tên clientList1 và clientList2 được khai báo trong đoạn mã sau. Tiếp theo, phương thức expand[] được sử dụng để chèn các giá trị của clientList2 vào cuối clientList1. Danh sách khách hàng 1 sẽ in sau khi chèn các mục
#. /usr/bin/env python3
# Xác định hai danh sách tên khách hàng
clientList1 = ['John','Ella','Micheal','Watson']
clientList2 = ['Abir','Nahar','Zafar']
# Insert the items of the second at the end of first list
clientList1.mở rộng[ danh sách khách hàng2 ]
# .
print["The output after extend:\n ", danh sách khách hàng1 ]
đầu ra
Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh từ spyder. Danh sách với các giá trị mở rộng sẽ in
5. đếm[]
Phương thức count[] được sử dụng để đếm số lần mà bất kỳ mục nào đã cho xuất hiện trong danh sách
cú pháp
danh sách . số lượng[ mục ]
Phương thức này lấy giá trị mục làm đối số sẽ được tìm kiếm trong danh sách và trả về số lần xuất hiện của mục trong danh sách dưới dạng giá trị số. Nếu giá trị mục không tồn tại trong danh sách, thì nó sẽ trả về giá trị 0
Thí dụ
Trong tập lệnh sau, một biến danh sách dữ liệu số được khai báo. Sau khi in danh sách, một giá trị số sẽ được lấy làm đầu vào sẽ được tìm kiếm trong danh sách. Nếu số đầu vào tồn tại trong danh sách một hoặc nhiều lần, thì nó sẽ trả về tổng số lần xuất hiện của mục được tìm kiếm;
#. /usr/bin/env python3
# Xác định danh sách số
listdata = [12, 23, 5, 27, 45, 5, 56, 6, 65]
# Print the list
print["The list content:\n ", dữ liệu danh sách . "
# Take any numeric data
search_item = int[input["Enter any number to search:"]]
in[ . %[search_item,listdata.số lượng[ search_item ]]]
đầu ra
Sau khi chạy tập lệnh, danh sách được in. Người dùng sẽ được yêu cầu nhập thông tin người dùng sẽ được tìm kiếm trong danh sách. 5 được lấy làm đầu vào; . Tập lệnh được thực thi lần thứ hai và 89 được cung cấp làm đầu vào không tồn tại trong danh sách. Vì vậy, phương thức đếm[] trả về 0
6. mục lục[]
Phương thức index[] được sử dụng để lấy giá trị vị trí của bất kỳ mục nào trong danh sách
cú pháp
danh sách . chỉ mục[ search_item ]
Phương thức này lấy giá trị mục tìm kiếm làm đầu vào và trả về giá trị vị trí của mục trong danh sách, nếu nó tồn tại;
Thí dụ
Một danh sách các giá trị chuỗi được khai báo trong tập lệnh sau. Sau khi in các giá trị danh sách, một giá trị chuỗi sẽ được lấy làm đầu vào. Giá trị đầu vào sẽ được tìm kiếm trong danh sách với phương thức index[]. Nếu giá trị tồn tại trong danh sách, thì giá trị vị trí của chuỗi đầu vào sẽ được trả về;
#. /usr/bin/env python3
# Xác định danh sách các số
listdata . ['John','Ella','Micheal','Watson','Meher']
# Print the list
print["The list content:\n ", dữ liệu danh sách . "
# Take any numeric data
search_item = input["Enter any name to search:"]
thử .
print["%s được tìm thấy ở vị trí %d trong .
%[search_item,listdata.chỉ mục[ search_item. viết hoa[]] + . 1]]
except ValueError:
in["Mục không tồn tại trong danh sách. "]
đầu ra
Sau khi chạy tập lệnh, nội dung của danh sách được in và phương thức yêu cầu nhập giá trị để tìm kiếm trong danh sách. 'Watson' được lấy làm đầu vào tồn tại ở vị trí 4 của danh sách, như được hiển thị trong đầu ra được định dạng. Tiếp theo, 'Jolly' được lấy làm đầu vào không tồn tại trong danh sách, tạo ra ValueError in từ khối ngoại trừ
7. sao chép[]
Phương thức copy[] được sử dụng để tạo một bản sao của danh sách. Phương pháp này hữu ích để giữ các giá trị danh sách ban đầu trước khi sửa đổi danh sách
cú pháp
danh sách . bản sao[]
Phương thức này không lấy bất kỳ đối số nào làm đầu vào, nó chỉ tạo một bản sao trùng lặp của danh sách
Thí dụ
Trong đoạn script sau, hai danh sách có tên clientList1 và clientList2 được khai báo. Trước khi thay đổi nội dung của clientList2, phương thức copy[] được sử dụng để tạo một bản sao của clientList2 và lưu trữ các giá trị danh sách trong một biến khác, có tên là originalList2. Tiếp theo, phương thức expand[] được sử dụng để thêm nội dung của clientList1 vào cuối clientList2. Nội dung trước đó và nội dung được hợp nhất của clientList2 sau đó được in
#. /usr/bin/env python3
# Xác định hai danh sách tên khách hàng
clientList1 = ['John','Ella','Micheal','Watson']
clientList2 = ['Abir','Nahar','Zafar']
# Make a copy of clientList2
originalList2 = clientList2.bản sao[]
# Chèn các mục của danh sách đầu tiên vào cuối .
clientList2.mở rộng[ danh sách khách hàng1 ]
< .
# Print the values of clientList2 before extend
print["The original values of clientList2 is:\n ", originalList2 .
# Print the values of clientList2 after extend
print["The output after extending clientList2:\n ", danh sách khách hàng2 ]
đầu ra
Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh từ spyder. Các giá trị danh sách ban đầu và hợp nhất được in bên dưới
8. loại[]
Phương thức sort[] dùng để sắp xếp dữ liệu danh sách. Phương pháp này hữu ích khi bạn đang làm việc với cùng một loại dữ liệu danh sách và bạn cần tổ chức dữ liệu cho bất kỳ mục đích lập trình nào
cú pháp
danh sách . sắp xếp[]
Phương thức này không nhận bất kỳ đối số nào và nó trả về dữ liệu danh sách được sắp xếp theo thứ tự tăng dần
Thí dụ
Một danh sách dữ liệu số được xác định trong tập lệnh sau. Danh sách được in trước và sau khi áp dụng phương thức sort[]
#. /usr/bin/env python3
# Xác định danh sách số
listdata = < . 12, 23, 27, 45, 5, 56, 6, 65]
# Print the list
print["The list before sort:\n ", dữ liệu danh sách .
# Sort the list
listdata.sắp xếp[]
# In danh sách sau khi sắp xếp
print["The list after sort:\n ", dữ liệu danh sách ]
đầu ra
Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh từ spyder. Danh sách ban đầu và danh sách được sắp xếp theo thứ tự tăng dần được in
9. đảo ngược[]
Phương thức reverse[] được sử dụng để đảo ngược các mục trong bất kỳ danh sách nào. Phương pháp này rất hữu ích để sắp xếp danh sách theo thứ tự giảm dần
cú pháp
danh sách . đảo ngược[]
Phương thức này không nhận bất kỳ đối số nào và nó trả về các mục trong danh sách theo thứ tự ngược lại
Thí dụ
Tập lệnh sau đây cho biết cách sắp xếp danh sách dữ liệu số theo thứ tự giảm dần. Một danh sách các dữ liệu số được xác định. Danh sách được in trước khi sắp xếp. Tiếp theo, phương thức sort[] được sử dụng để sắp xếp danh sách theo thứ tự tăng dần. Phương thức reverse[] sau đó được sử dụng để sắp xếp danh sách theo thứ tự giảm dần
#. /usr/bin/env python3
# Xác định danh sách các số
listdata . [120, 4, 78, 5, 50, 21, 56, 9]
# Print the list
print["The list before sort:\n ", dữ liệu danh sách .
# Sort the list
listdata.sắp xếp[]
# Đảo ngược danh sách
listdata.đảo ngược[]
# In .
print["The list after sort and reverse:\n ", dữ liệu danh sách ]
đầu ra
Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh từ spyder. Tại đây, danh sách ban đầu và danh sách được sắp xếp giảm dần sẽ in ra
10. thông thoáng[]
Phương thức clear[] được sử dụng để xóa tất cả các mục trong danh sách và để trống danh sách. Phương pháp này hữu ích để gán lại các giá trị của danh sách bằng cách xóa các mục trước đó
cú pháp
danh sách . xóa[]
Phương thức này không lấy bất kỳ đối số nào làm đầu vào và nó trả về một danh sách trống
Thí dụ
Đoạn script sau đây cho biết cách sử dụng phương thức clear[]. Một danh sách các giá trị chuỗi được khai báo và in ở đầu tập lệnh. Tiếp theo, phương thức clear[] được sử dụng để xóa tất cả các mục trong danh sách và in danh sách trống
#. /usr/bin/env python3
# Xác định danh sách
deptList = [ . 'CSE','English','BBA', 'Pharmacy','Math' ]
# print the list
print["\nThe list content:\n ", deptList .
# Clear the list
deptList.xóa[]
# in danh sách sau khi xóa
print["\nThe list after clear:\n ", deptList ]
đầu ra
Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh từ spyder. Lúc đầu, các giá trị danh sách được in và tiếp theo danh sách trống được in
Phần kết luận
Bài viết này đã mô tả mười phương thức danh sách phổ biến và hữu ích nhất trong Python, cũng như cách sử dụng của từng phương thức danh sách này