Bạn có thể lưu trữ các biến trong danh sách bằng Python không?

Đôi khi, trong khi làm việc với danh sách, chúng ta có thể muốn chuyển đổi hoặc giải nén từng phần tử của danh sách thành các biến cần thiết. Sự cố này có thể xảy ra trong miền phát triển web. Hãy thảo luận về một số cách mà vấn đề này có thể được giải quyết

Phương pháp #1. Sử dụng

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
9
Tác vụ này có thể được thực hiện bằng cách sử dụng toán tử “=”. Ở đây ta chỉ cần đảm bảo đủ các biến là đếm phần tử danh sách và gán chúng vào danh sách, các phần tử danh sách được cấp phát cho các biến theo thứ tự gán của chúng.




The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
0

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
1

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
2

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
3

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
4

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
5
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
6
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
0_______01
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
2
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
3
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
2
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
5
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
2
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
7
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
2
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
9
The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
90

Python có khả năng tạo ra các ứng dụng hữu ích cho mã tiềm năng của chúng tôi; . Tuy nhiên, để làm bất cứ điều gì tầm cỡ đó với ngôn ngữ lập trình này, bạn phải bắt đầu từ dưới lên và nắm vững những điều cơ bản. Một khối xây dựng thiết yếu của Python là học cách lưu trữ các mẩu dữ liệu sẽ hữu ích cho chương trình của chúng ta và quan trọng hơn là quyết định cách chúng ta sẽ lưu trữ dữ liệu này. Danh sách, bộ và từ điển là những cách phổ biến nhất để lưu trữ dữ liệu. Trong bài đăng trên blog này, tôi sẽ chỉ cho bạn cách bạn có thể sử dụng chúng, tại sao bạn muốn sử dụng chúng và những tính năng mà mỗi cấu trúc dữ liệu cung cấp

Cấu trúc dữ liệu đầu tiên tôi sẽ nói đến có lẽ được sử dụng phổ biến nhất trong Python - danh sách. Với phương pháp này, bạn có thể lưu trữ các biến cùng loại theo một thứ tự cụ thể. Bạn có thể truy cập và sửa đổi chúng bằng một chỉ mục

danh sách

Khởi tạo

danh sách = [phần tử1, phần tử2, …, phần tử]

Khi bạn khởi tạo một danh sách, bạn phải đặt tên cho nó. Nếu bạn chọn thêm các thành phần vào danh sách tại thời điểm này [tùy chọn], chúng phải được phân tách bằng dấu phẩy và đặt trong dấu ngoặc vuông, []

Bán tại. Lấy một danh sách các số nguyên được gọi là số. Giả sử bạn muốn nó chứa các số 0-4. Đây là cách chúng tôi sẽ khởi tạo danh sách

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
0

Nếu chúng tôi muốn các số được khởi tạo trống, khai báo của nó sẽ như thế này

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
1

Truy cập một phần tử

danh sách[chỉ mục]

Điều quan trọng nhất cần ghi nhớ khi sử dụng danh sách Python là cách các chỉ số được đánh số. Khi đếm trong lập trình, chúng ta luôn bắt đầu từ 0, không phải 1. Khi chúng tôi theo dõi chỉ mục của danh sách, chỉ mục đầu tiên luôn được đánh số '0'. Điều này có nghĩa là nếu danh sách của bạn có sáu phần tử, thì phần tử cuối cùng được lưu trữ tại chỉ mục '5'

Như đã nói, chúng ta có thể truy cập một phần tử thông qua việc sử dụng dấu ngoặc vuông, [] và chỉ mục của nó

Bán tại. Nếu chúng ta muốn truy cập phần tử thứ tư [chỉ số 3] và lưu nó vào một biến x, chúng ta sẽ gọi

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
2

“x =” gán giá trị của x và “numbers[3]” trả về mục ở chỉ mục thứ ba của danh sách. Nếu bạn chưa quen với việc viết mã, bạn nên nhớ rằng “=” không biểu thị mối quan hệ tương đương, điều đó có nghĩa là một giá trị đang được gán cho biến ở bên trái. Nhìn vào ví dụ trên, chúng ta có thể nói rằng x là số[3] hoặc x là 3, NHƯNG, chúng ta KHÔNG THỂ nói rằng số[3] = x. Biến bên phải hoàn toàn không được sửa đổi. Do đó, trong trường hợp này, mặc dù chúng ta thay đổi ý nghĩa của 'x', nhưng giá trị của các số[3] vẫn giữ nguyên

Sửa đổi một phần tử

list[index] = phần tử mới

Giống như chúng ta có thể truy cập một phần tử và gán giá trị của nó cho một biến [như chúng ta đã làm ở trên], chúng ta cũng có thể sửa đổi giá trị của một phần tử dựa trên chỉ số của nó

Bán tại. Nếu chúng tôi muốn thay đổi giá trị thứ ba của danh sách [chỉ số 2] thành 10, chúng tôi sẽ gọi như sau

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
3

“Số[2]” truy cập danh sách tại chỉ mục 2 bằng cách sử dụng dấu ngoặc, []. Đặt dấu bằng, “=”, ở bên phải dấu bằng cho biết rằng chúng ta muốn gán lại giá trị của số[2] cho giá trị ở bên phải dấu “=” – trong trường hợp này, đó là 10

Thêm một yếu tố

nối thêm [new_element]

chèn [new_element, chỉ mục]

Giả sử chúng tôi muốn thêm số '5' vào danh sách số của mình. Nếu chúng ta đã nghĩ đến một vị trí cụ thể, chúng ta sẽ cần tìm chỉ mục của vị trí đó và gọi hàm insert[] bằng cách sử dụng '5' và chỉ mục làm tham số

Bán tại. Nếu chúng tôi muốn đặt 5 ở chỉ số 2, chúng tôi sẽ sử dụng câu lệnh sau

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
4

Bây giờ, nội dung của các số là. [0, 1, 2, 3, 4, 5]. Tuy nhiên, nếu chúng ta muốn thêm '5' vào cuối danh sách, chúng ta chỉ cần sử dụng hàm append[] và chuyển 5 làm tham số

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
5

Ở đây, nội dung của các số là. [0, 1, 2, 3, 4, 5]

Hàm append[] rất thân thiện với người dùng vì nó cho phép bạn nối danh sách với nhau

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
6

Bây giờ nội dung của các số là. [0, 1, 2, 3, 4, 'a', 'b', 'c]

Do cách Python được thiết kế, nếu chúng ta chèn một phần tử vào một chỉ mục, danh sách sẽ tự động mở rộng và dịch chuyển tất cả các phần tử sang bên phải của chỉ mục đã cho sang phải một vị trí

Xóa một phần tử

cửa sổ bật lên [chỉ mục]

xóa [chỉ mục]

Có hai cách để chúng ta có thể xóa một phần tử - theo chỉ mục của nó hoặc theo giá trị của nó. Trong trường hợp đầu tiên, chúng tôi sử dụng hàm pop[] trong danh sách để loại bỏ một phần tử tại một chỉ mục nhất định

Bán tại. Nếu chúng tôi muốn xóa phần tử thứ năm [chỉ mục 4] trong danh sách ban đầu của mình, chúng tôi sẽ gọi

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
7

Bây giờ nội dung của các số là. [0, 1, 2, 3]

Tuy nhiên, nếu chúng ta muốn xóa một phần tử mà không sử dụng chỉ mục của nó, thì chúng ta sẽ sử dụng remove[] và chuyển phần tử đó làm tham số

Để hiển thị rõ hơn kỹ thuật này, hãy sử dụng một danh sách các chuỗi làm ví dụ

Hãy xác định một danh sách có tên là trái cây trong đó trái cây = [“táo”, “dâu tây”, “cam”, “chuối”]

Nếu chúng tôi muốn xóa "màu cam" khỏi danh sách, chúng tôi sẽ gọi

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
8

Điều gì sẽ dẫn đến danh sách. [“táo”, “dâu tây”, “chuối”]

Phương pháp lưu trữ dữ liệu tiếp theo mà chúng ta sẽ xem xét là tập hợp. Bộ cho phép bạn lưu trữ các biến cùng loại trong một nhóm – tuy nhiên, một bộ không có thứ tự và mỗi phần tử phải là duy nhất

bộ

Khởi tạo

set = {phần tử1, phần tử2, …, phần tử}

Tương tự như một danh sách, bạn có thể khởi tạo một tập hợp trống hoặc bạn có thể thêm các phần tử. Tuy nhiên, với set, chúng ta sử dụng dấu ngoặc nhọn {} thay cho dấu ngoặc vuông [] để khởi tạo giá trị cho nó

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
9

Truy cập một phần tử

Vì các tập hợp không có thứ tự và không có chỉ mục, nên bạn không thể truy cập vào một mục cụ thể trong đó như trong danh sách

Sửa đổi một phần tử

Thật không may, một khi một mục được thêm vào một bộ, nó không thể được sửa đổi mà chỉ bị xóa. Điều này là do không có cách nào để truy cập phần tử để sửa đổi nó vì không có chỉ số

Thêm một yếu tố

bộ. thêm [new_element]

bộ. cập nhật[new_element1, new_element2, …, new_elementn]

Các bộ có một hàm add[] lấy một biến cùng loại với phần còn lại của bộ và nối nó vào bộ. Vì các bộ không có thứ tự nên bạn không cần phải lo lắng về vị trí đặt chúng giống như khi thêm một mục vào danh sách

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
10

Bây giờ nội dung của trái cây là. {“táo”, “dâu”, “chuối”, “cam”}

Bạn cũng có thể nối nhiều mục cùng một lúc bằng cách sử dụng update[] bằng cách chuyển một số phần tử

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
11

Bây giờ nội dung của trái cây là. {“táo”, “dâu”, “chuối”, “cam”, “dứa”, “xoài”}

Xóa một phần tử

bộ. xóa [phần tử]

bộ. loại bỏ [phần tử]

Có hai hàm mà bạn có thể sử dụng để xóa một phần tử khỏi tập hợp. Cả hai đều yêu cầu bạn chuyển phần tử bạn muốn xóa vì không có cách nào khác để tham chiếu phần tử đó. Hai phương thức thực hiện chính xác như nhau, ngoại trừ, remove[] sẽ gây ra lỗi nếu phần tử bạn đang cố xóa không có trong tập hợp trong khi discard[] sẽ không

Nếu trái cây = {“táo”, “dâu tây”, “chuối”, “cam”}, thì

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
12

cả hai sẽ cho bạn trái cây = {“táo”, chuối”, “cam”}

Cuối cùng, hãy giải quyết từ điển. Cấu trúc dữ liệu này hoạt động bằng cách sử dụng cặp khóa-giá trị cho phép bạn tìm một phần tử được cung cấp một khóa, chẳng hạn như ký tự hoặc chuỗi, thay vì sử dụng chỉ mục số điển hình. Mặc dù loại mảng này không có thứ tự, nhưng nó vẫn có thể đánh địa chỉ được vì bạn có cách tìm một phần tử bằng cách sử dụng khóa duy nhất của nó

từ điển

Khởi tạo

từ điển = {key1. giá trị1, khóa2. giá trị2}

Do cách thiết kế từ điển, bạn có thể sử dụng các loại dữ liệu khác nhau làm khóa và giá trị. Chúng tôi sử dụng dấu ngoặc nhọn, {}, để xác định từ điển, dấu hai chấm, '. ', để gán khóa cho một giá trị và dấu phẩy, ',', để phân tách các mục nhập

Bán tại. Nếu chúng tôi muốn tạo một từ điển về một người có thuộc tính "tên", "tuổi" và "đại học", chúng tôi có thể sử dụng tên thuộc tính làm khóa và thuộc tính cá nhân làm giá trị

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
13

Mặc dù bạn không phải chèn một dòng và tab mới cho mỗi đầu vào, nhưng nó có thể giúp từ điển của bạn dễ đọc hơn

Truy cập một phần tử

từ điển[key]

Để lấy giá trị được lưu trữ tại một khóa, bạn sử dụng dấu ngoặc vuông, [], giống như cách bạn làm với một danh sách - ngoại trừ, lần này bạn chuyển một khóa làm tham số thay vì chỉ mục

Bán tại. my_dictionary[“name”] sẽ trả về “Danielle”

Sửa đổi một phần tử

từ điển [key] = new_value

Tương tự như cách chúng tôi cập nhật một phần tử của danh sách, bạn cũng sẽ sử dụng dấu ngoặc vuông, [] và dấu bằng, =, để cập nhật giá trị của từ điển tại một khóa nhất định. Cần lưu ý rằng bạn chỉ có thể cập nhật giá trị trong cặp khóa-giá trị – nếu muốn cập nhật khóa, bạn phải tạo cặp khóa-giá trị mới và xóa cặp khóa cũ

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
14

Bây giờ, my_dictionary sẽ trông như thế này

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
15

Thêm một yếu tố

từ điển [new_key] = new_value

Cách bạn thêm một cặp khóa-giá trị mới vào từ điển cũng giống như cách bạn cập nhật một cặp hiện có. Sự khác biệt duy nhất là khóa trong ngoặc vuông dự kiến ​​​​sẽ không có trong từ điển. Đây là nơi bạn cần ghi nhớ rằng các khóa là duy nhất. Nếu bạn chuyển nhầm một khóa đã có trong từ điển khi bạn định chuyển một khóa mới, sẽ không có lỗi xảy ra và giá trị của khóa hiện có sẽ được cập nhật

Bán tại. Nếu bạn muốn thêm số điện thoại vào my_dictionary, câu lệnh sẽ như thế này

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
16

Bây giờ, nội dung của my_dictionary sẽ là. {"Tên". “Danielle”, “tuổi tác”. 21, “đại học”. “Đại học Binghamton”, “số điện thoại” = “[888]123-4567”}

Xóa một phần tử

từ điển. bật [phím]

Nếu bạn muốn xóa một cặp khóa-giá trị cụ thể, bạn sẽ sử dụng hàm pop[] và chuyển khóa làm tham số

Bán tại. Nếu bạn muốn xóa khóa “đại học”, bạn sẽ gọi như sau

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
17

Bây giờ, từ điển sẽ trông như thế này

The original list is : [1, 3, 7, 4, 2]
Variables as assigned are : 1 3 7 4 2
18




Khi nào nên sử dụng cái nào

Bây giờ chúng ta đã trình bày các chức năng cơ bản của danh sách, tập hợp và từ điển, chúng ta có thể phân biệt ba loại này và liệt kê một số tình huống để sử dụng từng loại. Trước tiên, hãy tìm những điểm chung của chúng và điều gì khiến chúng trở nên độc đáo

Dưới đây là sơ đồ Venn cho thấy sự khác biệt và tương đồng giữa danh sách, bộ và từ điển. Như bạn có thể thấy, điểm giống nhau duy nhất mà tất cả chúng đều có chung chức năng là lưu trữ dữ liệu. Biểu đồ này sẽ giúp bạn thu hẹp lựa chọn của mình đơn giản dựa trên việc bạn cần thứ gì đó có thể lập chỉ mục, có thể sửa đổi hay nếu bạn cần các biến của mình là duy nhất

Bây giờ chúng ta đã biết điều gì làm cho mỗi cấu trúc dữ liệu trở nên độc đáo, hãy tìm hiểu các tính năng sẽ hỗ trợ bạn nhiều hơn trong lựa chọn của mình

danh sách

Bởi vì một danh sách được sắp xếp theo thứ tự, nó có các chức năng như sắp xếp [], sắp xếp lại danh sách của bạn theo thứ tự chữ và số hoặc theo một chức năng nhất định và đảo ngược [] sẽ sắp xếp danh sách của bạn theo thứ tự ngược lại với thứ tự hiện tại. Nó cũng có một phương thức gọi là count[] trả về số lần một biến đã truyền được tìm thấy trong danh sách. Các tính năng này làm cho danh sách trở nên hữu ích đối với tập dữ liệu mà bạn muốn sắp xếp theo một cách nhất định, đặc biệt nếu dữ liệu của bạn có các giá trị trùng lặp

bộ

Mặc dù các bộ có vẻ khó xử lý vì chúng không thể lập chỉ mục, nhưng chúng có thể khá hữu ích. Các tập hợp Python tương tự như các tập hợp toán học – chúng không có thứ tự và có các phần tử duy nhất. Giống như bạn có thể tìm hợp và giao của các tập hợp trong toán học, bạn cũng có thể tìm hợp và giao của các tập hợp trong Python bằng cách sử dụng hàm union[] và hàm giao[] tương ứng. Cả hai phương thức đều có thể lấy một số tập hợp làm tham số và trả về tập hợp kết quả. Hai chức năng này chỉ sơ lược về khả năng của các tập hợp Python – bạn có thể xác định xem một tập hợp có khác biệt với tập hợp khác hay không, liệu một tập hợp có phải là tập hợp con của một tập hợp khác hay không, v.v. Do đó, tùy chọn này hữu ích nếu bạn định thực hiện các thao tác đó trên bộ dữ liệu của mình

từ điển

Từ điển cung cấp cho bạn những gì tốt nhất của cả bộ và danh sách. Chúng có thể lập chỉ mục và sắp xếp thông tin của bạn với thiết kế cặp khóa-giá trị. Các từ điển cũng có thể được lồng vào nhau sao cho giá trị mà khóa ánh xạ tới là một từ điển chứ không phải là một số hoặc một chuỗi. Cấu trúc dữ liệu này là tốt nhất nếu bạn muốn lưu trữ nhiều thông tin về một mục. Một ví dụ điển hình là nếu bạn mô phỏng danh bạ điện thoại hoặc sổ địa chỉ. Bạn có thể đặt mỗi khóa là tên của một liên hệ và mỗi giá trị là số điện thoại hoặc địa chỉ của họ. Vấn đề này cũng có thể được tiếp cận bằng cách sử dụng từ điển lồng nhau trong đó mỗi từ điển lồng nhau đại diện cho một liên hệ có một số cặp khóa-giá trị để lưu trữ thêm thông tin về từng cặp

Nhìn chung, không có cấu trúc dữ liệu nào trong số này tốt hơn cấu trúc dữ liệu nào – mỗi cấu trúc đều có phẩm chất và khả năng riêng giúp chúng hữu ích cho một mục đích nhất định. Hy vọng rằng bạn đã tìm ra phương pháp nào là tốt nhất để lưu trữ thông tin mà bạn sẽ sử dụng trong chương trình Python của mình. Mặt khác, tôi khuyên bạn nên chọn một trong số đó và tìm kiếm nơi bạn có thể gặp sự cố. Để tìm hiểu thêm về Python, hãy truy cập bitproject. org hoặc gửi email cho tôi theo địa chỉ danzelo1@binghamton. giáo dục

Chủ Đề