Khung nào chúng tôi sử dụng cho danh sách trong python?

Trong Python, cả danh sách và bộ dữ liệu đều là các kiểu dữ liệu chuỗi có thể lưu trữ một tập hợp các mục. Cả hai đều có thể lưu trữ các mặt hàng thuộc loại không đồng nhất i. e. mỗi mục được lưu trữ trong danh sách hoặc bộ dữ liệu có thể thuộc bất kỳ loại dữ liệu nào

Chúng tôi có thể truy cập các mục trong danh sách và bộ dữ liệu theo chỉ số của chúng

Tuy nhiên, danh sách và bộ dữ liệu rất khác nhau. Hãy liệt kê sự khác biệt giữa danh sách và bộ dữ liệu

1. Sự khác biệt về cú pháp

Cú pháp của list và tuple hơi khác nhau. Danh sách được bao quanh bởi dấu ngoặc vuông [ ] và Tuples được bao quanh bởi dấu ngoặc đơn [ ]

List = [1, 2, 3]

Tuple = [1, 2, 3]

2. Danh sách có thể thay đổi so với bộ dữ liệu không thay đổi

Sự khác biệt chính giữa danh sách và bộ dữ liệu là danh sách có thể thay đổi trong khi bộ dữ liệu là bất biến

Điều đó có nghĩa là chúng ta có thể sửa đổi một danh sách sau khi nó đã được khởi tạo. e. chúng tôi có thể thêm, cập nhật hoặc thậm chí xóa các mục trong danh sách. Tuy nhiên, chúng tôi không thể thay đổi các mục trong một bộ khi nó đã được tạo

# list

List = [1, 2, 3]

List.append[4]

print[List]		# [1, 2, 3, 4]

# tuple

Tuple = [1, 2, 3]

Tuple.append[4]	# AttributeError: 'tuple' object has no attribute 'append'

3. Tăng hiệu suất

Các bộ dữ liệu là bất biến nên chúng có ít hoạt động tích hợp hơn. Điều này tiết kiệm cho chúng tôi một số bộ nhớ

Do ít hoạt động hơn, các bộ dữ liệu nhanh hơn một chút nhưng không có gì nhiều để đề cập cho đến khi chúng ta có một số lượng lớn các phần tử

Tuple = [1,2,3,4,5,6,7,8,9,0]
List = [1,2,3,4,5,6,7,8,9,0]

print['Tuple size =', Tuple.__sizeof__[]]		# Tuple size = 52
print['List size =', List.__sizeof__[]]			# List size = 60

4. Dùng làm chìa khóa trong từ điển

Các bộ dữ liệu có thể được sử dụng làm khóa trong từ điển do tính chất có thể băm và không thay đổi của chúng. Hãy nhớ rằng chỉ các giá trị bất biến mới có thể được băm

Danh sách không được sử dụng vì danh sách không thể xử lý hoạt động của __hash__[] và có tính chất có thể thay đổi

dict1= {['a','b']:123} 	#Valid

dict2 = {['a','b']:123} 	#Invalid

5. Trường hợp sử dụng

Nói chung, Tuples là các cấu trúc dữ liệu không đồng nhất nên chúng có thể được sử dụng để tạo các bản ghi [đối tượng giá trị] chứa các loại thông tin liên quan khác nhau. e. g. hồ sơ nhân viên

Danh sách, nói chung, là chuỗi đồng nhất. Trong trường hợp trên, chúng ta có thể sử dụng một danh sách để lưu trữ các bản ghi của nhiều nhân viên trong đó mỗi bản ghi nhân viên là một bộ

Do đó, chúng tôi có thể thêm và xóa nhân viên khỏi danh sách khi chúng tôi tiến xa hơn vào chương trình. Nhưng chúng ta không thể chỉnh sửa một bản ghi nhân viên, thay vào đó chúng ta sẽ tạo một bản ghi nhân viên khác [bộ dữ liệu mới] với thông tin nhân viên hiện có và sau đó lưu trữ lại trong danh sách

Đối với danh sách và các chuỗi có thể thay đổi khác [nhưng không phải chuỗi], bạn có thể ghi đè lên một giá trị tại một chỉ mục cụ thể bằng toán tử gán [=]

Các số âm bên trong dấu ngoặc chỉ khiến Python bắt đầu đếm từ cuối chuỗi, thay vì từ đầu. Ví dụ: biểu thức x[-1] đánh giá mục cuối cùng của danh sách x, x[-2] đánh giá mục thứ hai đến cuối cùng của danh sách x, v.v.

Cuối cùng, dấu ngoặc chỉ mục được sử dụng để truy xuất hoặc đặt giá trị cho một khóa đã cho trong từ điển. Ví dụ: biểu thức x[a] đánh giá bất kỳ giá trị nào của khóa a có trong từ điển x. Câu lệnh x[a] = b sẽ đặt giá trị cho khóa a trong từ điển x thành giá trị mới b [ghi đè bất kỳ giá trị hiện có nào]

Việc chỉ định một chỉ mục vượt quá giới hạn của chuỗi sẽ tạo ra một ngoại lệ IndexError. Cố gắng truy xuất giá trị cho một khóa không tồn tại trong từ điển sẽ gây ra ngoại lệ KeyError

Danh sách là một bộ chứa Python có thứ tự và có thể thay đổi, là một trong những cấu trúc dữ liệu phổ biến nhất trong Python. Để tạo danh sách, các phần tử được đặt trong dấu ngoặc vuông [[]], phân tách bằng dấu phẩy

Như được hiển thị ở trên, danh sách có thể chứa các phần tử thuộc các loại khác nhau cũng như các phần tử trùng lặp

2. Tạo danh sách với hàm tạo list[]

Danh sách cũng có thể được tạo bằng chức năng tích hợp list[[iterable]]. Hàm này lấy đối số là một lần lặp [i. e. bất kỳ loại trình tự, bộ sưu tập hoặc trình lặp nào], trả về một danh sách với các mục của đối tượng đầu vào

Như đã trình bày ở trên, chúng ta có thể dễ dàng tạo danh sách không chỉ từ các vùng chứa tích hợp sẵn của Python mà còn từ các mảng Numpy và chuỗi Pandas, trong số các lần lặp khác

Chúng ta cũng có thể sử dụng hàm tạo list[] mà không cần bất kỳ tham số đầu vào nào. Trong trường hợp này, hàm tạo trả về một danh sách trống

3. Truy cập các phần tử trong danh sách

Danh sách là các chuỗi phần tử được sắp xếp theo thứ tự và giống như các vùng chứa được sắp xếp khác trong Python, chúng được lập chỉ mục bằng cách sử dụng chỉ mục bắt đầu bằng 0. Để truy cập một phần tử trong danh sách, chúng tôi cung cấp chỉ mục [một số nguyên] bên trong dấu ngoặc vuông [[]] như sau

Như đã trình bày ở trên, lỗi IndexError xuất hiện khi cố gắng truy cập một chỉ mục nằm ngoài phạm vi của danh sách

Chúng ta cũng có thể sử dụng giá trị âm để truy cập một mục từ cuối danh sách, trong đó -1 đề cập đến phần tử cuối cùng, -2 đến phần tử cuối cùng thứ hai, v.v.

Để truy cập nhiều phần tử, chúng tôi sử dụng toán tử cắt của python

[bắt đầu. dừng lại. bươc]

Khi cắt, điều quan trọng cần nhớ là chỉ mục bắt đầu bao gồm và chỉ mục kết thúc là loại trừ

Hãy nhớ rằng chúng ta có thể truy cập và cắt các phần tử của danh sách vì chúng là các thùng chứa có thứ tự. Trong Python, các thùng chứa có thể được sắp xếp theo thứ tự [được xác định thứ tự] hoặc chuỗi các phần tử không có thứ tự [không xác định thứ tự] trong đó chúng ta chỉ quan tâm xem đối tượng có chứa phần tử hay không chứ không quan tâm đến vị trí của nó. Chẳng hạn, chúng ta có thể dễ dàng truy cập một giá trị trong danh sách như chúng ta đã giải thích trước đây;

4. Sửa đổi các mục trong danh sách

Chúng ta có thể sửa đổi một mục của danh sách bằng cách đặt chỉ mục hoặc các chỉ mục trong dấu ngoặc vuông ở phía bên trái của toán tử gán [khi chúng ta truy cập hoặc cắt danh sách] và các giá trị mới ở phía bên tay phải

Đoạn mã dưới đây cho thấy cách chúng tôi có thể cập nhật một hoặc nhiều phần tử trong danh sách như đã giải thích trước đây

Có thể sửa đổi danh sách tại chỗ vì danh sách là đối tượng có thể thay đổi. Khả năng biến đổi đề cập đến khả năng thay đổi giá trị của một đối tượng. Các đối tượng có thể thay đổi có thể thay đổi giá trị của chúng, trong khi các đối tượng không thể thay đổi không thể thay đổi. Chẳng hạn, chúng ta có thể sửa đổi một mục của danh sách;

5. Xóa phần tử khỏi danh sách

Có ba cách để xóa phần tử khỏi danh sách

  • Sử dụng từ khóa del
  • Sử dụng danh sách. phương pháp loại bỏ [x]
  • Sử dụng danh sách. phương thức pop[[x]]

từ khóa del

Chúng tôi có thể xóa một hoặc nhiều mục của danh sách bằng cách sử dụng từ khóa del, cung cấp các chỉ mục mà chúng tôi muốn xóa bên trong dấu ngoặc vuông [[]] theo cách sau

Như đã trình bày ở trên, chúng ta có thể sử dụng từ khóa del không chỉ để xóa các mục khỏi danh sách mà còn để xóa tham chiếu đến một đối tượng

phương pháp pop

Danh sách. pop[[x]] xóa mục tại chỉ mục đã cho và trả về mục đó. Nếu chỉ mục không được cung cấp, danh sách. phương thức pop[] loại bỏ và trả về phần tử cuối cùng của danh sách. Lỗi IndexError xuất hiện khi cố xóa một chỉ mục nằm ngoài phạm vi của danh sách

Phương pháp loại bỏ

Danh sách. phương thức remove[x] xóa phần tử phù hợp đầu tiên khỏi danh sách và trả về Không có. Nếu phần tử không có trong danh sách, một ngoại lệ ValueError sẽ xuất hiện

6. Chèn một phần tử vào danh sách

Để chèn một phần tử vào danh sách, chúng ta có thể sử dụng

  • Danh sách. phương thức chèn[i,x]
  • Danh sách. phương thức chắp thêm [x]

phương pháp chèn

Danh sách. phương thức insert[i,x] chèn một phần tử x vào chỉ số i đã cho và trả về Không có

Như đã trình bày ở trên, đối số đầu tiên i là chỉ mục của phần tử mà trước đó chúng ta chèn một mục. Đó là lý do tại sao, nếu chúng ta cung cấp chỉ mục -1 làm đầu vào, phần tử sẽ được chèn vào vị trí từ thứ hai đến cuối cùng thay vì ở cuối danh sách. Để chèn một mục vào cuối danh sách, chúng tôi phải cung cấp độ dài của danh sách làm đầu vào

Chúng ta có thể thêm bằng phương thức chèn không chỉ kiểu dữ liệu nguyên thủy [số nguyên, số float, chuỗi hoặc boolean] mà còn cả vùng chứa Python [e. g. một danh sách] như hình dưới đây

Phương thức chắp thêm

Danh sách. phương thức append[x] thêm một phần tử vào cuối danh sách, tương đương với danh sách. chèn [len [danh sách], x]

Như đã trình bày ở trên, các. phương thức append[] sửa đổi danh sách tại chỗ, trả về Không có

7. Sắp xếp một danh sách

Hàm sắp xếp

Để sắp xếp các phần tử của danh sách, chúng ta có thể sử dụng cả hàm sorted và phương thức sort. Hàm đã sắp xếp trả về một danh sách đã sắp xếp, nhưng danh sách được cung cấp dưới dạng đầu vào vẫn không thay đổi

Hàm này có cú pháp như sau

đã sắp xếp [có thể lặp lại [, khóa] [, đảo ngược]]

Tham số đầu tiên là iterable mà chúng ta muốn sắp xếp [trong trường hợp này là một danh sách]. Hai tham số sau, key và reverse, là tùy chọn, cho phép chúng ta sắp xếp phức tạp hơn. Chúng ta sẽ thấy điều đó sau

Phương pháp sắp xếp

Không giống như hàm đã sắp xếp, phương thức sắp xếp sắp xếp danh sách tại chỗ, trả về Không có

Phương thức sắp xếp cũng có cú pháp sau với hai tham số tùy chọn. chìa khóa và đảo ngược

danh sách. sắp xếp[key=…, reverse=…]

Đoạn mã dưới đây cho thấy cách chúng ta có thể sử dụng cả hàm đã sắp xếp và phương thức sắp xếp để sắp xếp các phần tử của danh sách

thông số bổ sung. đảo ngược và chìa khóa

Hàm được sắp xếp và phương thức sắp xếp sắp xếp các phần tử theo thứ tự tăng dần, trừ khi chúng tôi chỉ định khác, cung cấp tham số reverse=True

Một thông số quan trọng khác là key. Chúng ta có thể sắp xếp danh sách dựa trên giá trị được trả về bởi hàm được cung cấp trong tham số chính. Chúng tôi áp dụng hàm cho từng phần tử của danh sách, sau đó chúng tôi sắp xếp các phần tử dựa trên giá trị được trả về bởi hàm này. Tham số chính có thể chứa các hàm tích hợp, ẩn danh hoặc bình thường cũng như các phương thức

Trong các ví dụ sau, chúng tôi sử dụng tham số chính để

  1. Sắp xếp danh sách các chuỗi theo độ dài của nó

2. Sắp xếp danh sách các chuỗi theo số nguyên âm

3. Sắp xếp danh sách lồng nhau theo giá trị thứ ba

8. Đảo ngược một danh sách

Chức năng đảo ngược

Để đảo ngược các phần tử của một danh sách, chúng ta có thể sử dụng cả hàm Reverse[seq] và hàm list. phương pháp đảo ngược []. Hàm đảo ngược trả về trình lặp đảo ngược của chuỗi đã cho, giữ nguyên chuỗi được cung cấp làm đầu vào không thay đổi. So với hàm sort thì hàm đảo ngược không trả về danh sách nên nếu muốn lấy danh sách thì phải sử dụng hàm tạo list[]

Phương pháp đảo ngược

Không giống như hàm đảo ngược, phương thức đảo ngược đảo ngược danh sách tại chỗ, trả về Không có

9. Nối hai danh sách

Có nhiều cách để nối hai danh sách trong Python. Toán tử + là một trong những cách đơn giản nhất;

Toán tử + cũng cho phép bạn nối nhiều hơn hai danh sách

Một cách khác để nối hai danh sách là sử dụng danh sách. phương pháp mở rộng [có thể lặp lại]. Phương pháp này mở rộng danh sách bằng cách nối thêm tất cả các mục từ iterable

Như đã trình bày ở trên, danh sách. phương thức mở rộng [có thể lặp lại] sửa đổi danh sách tại chỗ, thêm các phần tử từ có thể lặp lại vào cuối danh sách. Có thể lặp lại được cung cấp dưới dạng đầu vào không thay đổi và phương thức trả về Không có

Như tôi đã đề cập trước đây, có nhiều cách để nối các danh sách. Bài viết sau đây giải thích các chế độ thay thế để nối hai danh sách trong Python

Python Thêm danh sách/Tham gia/Nối hai danh sách trở lên

Hướng dẫn này bao gồm chủ đề sau - Python Thêm danh sách. Nó mô tả nhiều cách khác nhau để nối/nối/thêm danh sách trong…

www. kỹ thuật viên. com

10. Kiểm tra xem một phần tử có tồn tại trong danh sách không

Để kiểm tra xem một phần tử có tồn tại trong danh sách hay không, chúng ta phải sử dụng toán tử thành viên. Các toán tử thành viên được sử dụng để kiểm tra xem một giá trị có được tìm thấy trong một chuỗi hay không [e. g. chuỗi, danh sách, bộ dữ liệu, bộ hoặc từ điển]. Có hai toán tử thành viên, như được giải thích bên dưới

  • in → Đánh giá là True nếu đối tượng ở phía bên trái được bao gồm trong đối tượng ở phía bên phải
  • not in → Đánh giá là True nếu đối tượng ở bên trái không được bao gồm trong đối tượng ở bên phải

Như đã trình bày ở trên, các toán tử thành viên [in và not in] có thể được sử dụng để kiểm tra xem một phần tử có tồn tại trong danh sách hay không, nhưng chúng cũng có thể được sử dụng với các chuỗi khác theo cách sau

11. Sao chép một danh sách

Để sao chép một danh sách, chúng ta chỉ cần sử dụng danh sách. phương thức sao chép []. Phương thức này trả về một bản sao nông của danh sách. Chúng tôi phải cẩn thận với các bản sao nông, vì nếu danh sách của bạn chứa các đối tượng vùng chứa khác như các danh sách, bộ hoặc bộ khác, chúng sẽ được tham chiếu lại và không bị trùng lặp

Để tránh vấn đề này, chúng ta có thể tạo một bản sao sâu bằng cách sử dụng bản sao. chức năng deepcopy[x] [được định nghĩa trong mô-đun sao chép] như sau

Sự khác biệt giữa bản sao nông và bản sao sâu chỉ liên quan khi danh sách chứa các đối tượng khác như danh sách [danh sách lồng nhau], vì các đối tượng đó sẽ được tham chiếu thay vì trùng lặp [bản sao nông]. Để tạo một bản sao hoàn toàn độc lập của danh sách gốc, chúng ta phải tạo một bản sao sâu

Điều quan trọng cần nhớ là toán tử = không tạo một bản sao của danh sách. Nó chỉ là một tên khác để chỉ cùng một danh sách, nghĩa là bất kỳ sửa đổi nào đối với danh sách mới đều được phản ánh trong danh sách ban đầu

12. Xác định độ dài của danh sách

Để xác định danh sách chứa bao nhiêu phần tử, chúng ta có thể sử dụng hàm len[]. Hàm này trả về số lượng mục của một đối tượng. Đầu vào của hàm có thể là một danh sách, nhưng cũng có thể là một loại trình tự khác, chẳng hạn như chuỗi, từ điển, bộ hoặc tập hợp

13. Danh sách hiểu

Đối với các vòng lặp có thể được sử dụng để tạo danh sách trong Python; . Ngoài ra, chúng nhanh hơn các vòng lặp for truyền thống

cú pháp. [Biểu thức cho vars trong iterable]

Trong khối mã sau, chúng tôi tạo một danh sách các thành phố mới, chứa các tên viết hoa

Như hình trên, chúng ta tạo một danh sách mới trong ba bước

  1. Tạo một danh sách trống [city_capitalized]
  2. Lặp qua danh sách [thành phố]
  3. Nối các tên viết hoa vào danh sách mới [cities_capitalized]

Tuy nhiên, chúng ta có thể nhận được kết quả tương tự chỉ với một dòng mã bằng cách sử dụng tính năng hiểu danh sách

Chúng ta cũng có thể sử dụng các câu điều kiện với khả năng hiểu danh sách để lọc ra dữ liệu không mong muốn. Trong khối mã sau, câu lệnh điều kiện lọc ra các số lẻ từ danh sách

Như bạn có thể thấy, khả năng hiểu danh sách là một cách tinh tế và nhỏ gọn để tạo danh sách. Tuy nhiên, việc hiểu danh sách rất dài có thể gây nhầm lẫn cho người đọc. Vì lý do này, việc sử dụng nó nên được giới hạn trong các câu lệnh đơn giản.

14. thùng chứa thay thế. deque

Đối tượng deque [được xác định trong mô-đun bộ sưu tập] là một bộ chứa danh sách thích được tối ưu hóa để thêm và xóa các mục từ hai bên [phải và trái]

Chúng ta có thể sử dụng các phương pháp. nối thêm [x] và. mở rộng [có thể lặp lại] để thêm các phần tử vào phía bên phải của đối tượng deque, như chúng ta đã làm trước đây với danh sách. Tuy nhiên, không giống như danh sách, đối tượng deque hỗ trợ các phương thức. appendleft[x] và. Extendleft[iterable] để thêm các phần tử vào bên trái

Ngoài việc thêm các mục, đối tượng deque còn hỗ trợ. pop[] và. popleft[] để loại bỏ các phần tử từ hai bên

Nếu bạn muốn biết thêm về deque container, hãy xem qua tài liệu

8. 3. bộ sưu tập - Kiểu dữ liệu vùng chứa hiệu năng cao - Python 2. 7. tài liệu 18rc1

Mã nguồn. Lib/bộ sưu tập. py và Lib/_abcoll. py Mô-đun này triển khai các kiểu dữ liệu bộ chứa chuyên dụng cung cấp…

tài liệu. con trăn. tổ chức

15. Tạo Khung dữ liệu Pandas từ danh sách

Khung dữ liệu Pandas là dữ liệu dạng bảng hai chiều trong đó mỗi hàng biểu thị một quan sát và mỗi cột là một biến. Một Pandas DataFrame có thể được tạo bằng pandas. Trình tạo khung dữ liệu. Mặc dù hàm này chấp nhận nhiều vùng chứa Python làm đầu vào, nhưng một trong những cách phổ biến nhất để tạo khung dữ liệu là sử dụng danh sách lồng nhau làm đầu vào

Như chúng ta có thể quan sát, các chỉ mục mặc định là số nguyên [bắt đầu từ 0]. Chúng ta có thể sửa đổi các chỉ mục này bằng cách chuyển một danh sách tới các tham số chỉ mục và cột theo cách sau

Như tôi đã nói trước đây, có nhiều cách để tạo khung dữ liệu gấu trúc. Để biết thêm nhiều cách khác, bạn có thể truy cập vào liên kết sau. . ]

Các cách khác nhau để tạo Pandas Dataframe - GeekforGeek

Pandas DataFrame là cấu trúc dữ liệu được gắn nhãn 2 chiều với các cột có các loại khác nhau. Nói chung…

www. chuyên viên máy tính. tổ chức

Danh sách là vùng chứa tích hợp Python quan trọng nhất, là một khía cạnh quan trọng khi lập trình bằng Python để hiểu chúng đúng cách. Ngoài tài liệu chính thức về Python, còn có nhiều trang web nơi bạn có thể tìm thấy các giải thích chi tiết về cách sử dụng danh sách, cùng với các ví dụ

Danh sách Python

Có bốn kiểu dữ liệu tập hợp trong ngôn ngữ lập trình Python. Danh sách là một bộ sưu tập được sắp xếp theo thứ tự và…

www. w3schools. com

Danh sách Python - GeekforGeek

Danh sách giống như mảng có kích thước động, được khai báo bằng các ngôn ngữ khác [vector trong C++ và ArrayList trong Java]. Danh sách cần…

www. chuyên viên máy tính. tổ chức

Giới thiệu về lập trình Python. sự táo bạo

Trong khóa học này, bạn sẽ học các nguyên tắc cơ bản của ngôn ngữ lập trình Python, cùng với cách lập trình tốt nhất…

www. sự táo bạo. com

Mình đang định làm một bộ bài viết về Python container. Đến nay đã hoàn thành hướng dẫn sử dụng từ điển và danh mục

Dấu ngoặc nào được sử dụng cho danh sách?

Dấu ngoặc vuông là danh sách trong khi dấu ngoặc đơn là bộ.

[] có phải là danh sách trong Python không?

Không, [] Và list[] khác nhau trong Python .

Dấu ngoặc {} được sử dụng để làm gì trong Python?

Dấu ngoặc {} có nghĩa là gì trong Python? . Nội dung danh sách có thể được thay đổi, không giống như nội dung tuple. {} được sử dụng để xác định từ điển trong “danh sách” được gọi là chữ .

Chủ Đề