Danh sách sửa đổi Python
Các hàm của Python (cả hàm tích hợp và hàm tùy chỉnh do chúng tôi tự viết) là những công cụ quan trọng để làm việc với dữ liệu. Nhưng những gì họ làm với dữ liệu của chúng tôi có thể hơi khó hiểu và nếu chúng tôi không biết chuyện gì đang xảy ra, điều đó có thể gây ra lỗi nghiêm trọng trong quá trình phân tích của chúng tôi Show
Trong hướng dẫn này, chúng ta sẽ xem xét kỹ cách Python xử lý các loại dữ liệu khác nhau khi chúng được thao tác bên trong các hàm và tìm hiểu cách đảm bảo rằng dữ liệu của chúng ta chỉ được thay đổi khi chúng ta muốn nó được thay đổi. Cách ly bộ nhớ trong chức năngĐể hiểu cách Python xử lý các biến toàn cục bên trong các hàm, hãy làm một thử nghiệm nhỏ. Chúng ta sẽ tạo hai biến toàn cục, number_1 và number_2, và gán chúng cho các số nguyên 5 và 10. Sau đó, chúng ta sẽ sử dụng các biến toàn cục đó làm đối số trong một hàm thực hiện một số phép toán đơn giản. Chúng tôi cũng sẽ sử dụng tên biến làm tên tham số của hàm. Sau đó, chúng ta sẽ xem liệu tất cả việc sử dụng biến bên trong hàm của chúng ta có ảnh hưởng đến giá trị toàn cầu của các biến này hay không
Như chúng ta có thể thấy ở trên, hàm hoạt động chính xác và giá trị của các biến toàn cục 0 và 1 không thay đổi, mặc dù chúng ta đã sử dụng chúng làm đối số và tên tham số trong hàm của mình. Điều này là do Python lưu trữ các biến từ một hàm ở một vị trí bộ nhớ khác với các biến toàn cục. Họ bị cô lập. Do đó, biến 0 có thể có một giá trị (5) trên toàn cục và một giá trị khác (50) bên trong hàm, nơi nó được tách biệt(Nhân tiện, nếu bạn bối rối về sự khác biệt giữa tham số và đối số, tài liệu của Python về chủ đề này khá hữu ích. ) Điều gì về danh sách và từ điển?danh sáchChúng ta đã thấy rằng những gì chúng ta làm với một biến như 0 ở trên bên trong một hàm không ảnh hưởng đến giá trị toàn cầu của nó. Nhưng 0 là một số nguyên, là một kiểu dữ liệu khá cơ bản. Điều gì xảy ra nếu chúng ta thử cùng một thử nghiệm với một loại dữ liệu khác, chẳng hạn như danh sách?
Như chúng ta có thể thấy, ở đây giá trị toàn cục của 6 đã được cập nhật, mặc dù giá trị của nó chỉ được thay đổi bên trong hàmtừ điểnBây giờ, hãy viết một hàm lấy từ điển làm đối số để xem liệu biến từ điển toàn cục có bị sửa đổi khi nó cũng được thao tác bên trong hàm không Để làm cho điều này thực tế hơn một chút, chúng tôi sẽ sử dụng dữ liệu từ bộ dữ liệu 7 được sử dụng trong khóa học Nguyên tắc cơ bản về Python của chúng tôi (dữ liệu có sẵn để tải xuống tại đây)Trong đoạn mã bên dưới, chúng tôi đang bắt đầu với một từ điển chứa số lượng ứng dụng với từng xếp hạng độ tuổi trong tập dữ liệu (do đó, có 4.433 ứng dụng được xếp hạng “4+”, 987 ứng dụng được xếp hạng “9+”, v.v. ). Hãy tưởng tượng chúng ta muốn tính tỷ lệ phần trăm cho mỗi xếp hạng độ tuổi, vì vậy chúng ta có thể biết được xếp hạng độ tuổi nào phổ biến nhất trong số các ứng dụng trong App Store Để làm điều này, chúng ta sẽ viết một hàm có tên là 8 sẽ lấy một từ điển làm đối số và chuyển đổi số đếm thành tỷ lệ phần trăm. Chúng tôi sẽ cần bắt đầu đếm từ 0 và sau đó lặp lại từng giá trị trong từ điển, thêm chúng vào số đếm để chúng tôi nhận được tổng số xếp hạng. Sau đó, chúng tôi sẽ lặp lại từ điển một lần nữa và thực hiện một số phép toán cho từng giá trị để tính tỷ lệ phần trăm 3Trước khi xem kết quả, hãy nhanh chóng xem lại những gì đang xảy ra ở trên. Sau khi gán từ điển xếp hạng độ tuổi của ứng dụng cho biến 9, chúng tôi tạo một hàm mới có tên là 8 nhận một đối số duy nhất. 1Để tính tỷ lệ phần trăm ứng dụng rơi vào từng xếp hạng độ tuổi, chúng tôi cần biết tổng số ứng dụng, vì vậy, trước tiên, chúng tôi đặt một biến mới có tên là 2 đến 3, sau đó lặp qua từng khóa trong 1, thêm nó vào 2Khi đã xong, tất cả những gì chúng ta cần làm là lặp lại 1, chia mỗi mục cho tổng và sau đó nhân kết quả với 100. Điều này sẽ cung cấp cho chúng tôi một từ điển với tỷ lệ phần trămNhưng điều gì sẽ xảy ra khi chúng ta sử dụng 9 toàn cục của mình làm đối số cho hàm mới này?Có thể bạn quan tâm 3____24Giống như chúng ta đã thấy với các danh sách, biến toàn cục 9 của chúng ta đã bị thay đổi, mặc dù nó chỉ được sửa đổi bên trong hàm 8 mà chúng ta đã tạoVì vậy, những gì đang thực sự xảy ra ở đây? Các kiểu dữ liệu có thể thay đổi và không thể thay đổiTrong Python, kiểu dữ liệu có thể là mutable (có thể thay đổi) hoặc immutable (không thể thay đổi). Và trong khi hầu hết các kiểu dữ liệu mà chúng ta đã làm việc trong phần giới thiệu Python là bất biến (bao gồm số nguyên, số float, chuỗi, Boolean và bộ dữ liệu), danh sách và từ điển có thể thay đổi. Điều đó có nghĩa là một danh sách toàn cầu hoặc từ điển có thể được thay đổi ngay cả khi nó được sử dụng bên trong một hàm, giống như chúng ta đã thấy trong các ví dụ ở trên Để hiểu sự khác biệt giữa có thể thay đổi (có thể thay đổi) và không thể thay đổi (không thể thay đổi), thật hữu ích khi xem cách Python thực sự xử lý các biến này Hãy bắt đầu bằng cách xem xét một phép gán biến đơn giản 7Tên biến 30 đóng vai trò như một con trỏ hướng tới 31 và nó giúp chúng ta truy xuất 31 bất cứ khi nào chúng ta muốn 31 là số nguyên và số nguyên là kiểu dữ liệu không thay đổi. Nếu một loại dữ liệu là bất biến, điều đó có nghĩa là nó không thể được cập nhật sau khi được tạo. Nếu chúng tôi thực hiện 34, chúng tôi không thực sự cập nhật 31 thành 36. Trong hình ảnh động dưới đây, chúng ta có thể thấy rằng
Các loại dữ liệu có thể thay đổi như danh sách và từ điển hoạt động khác nhau. Chúng có thể được cập nhật. Vì vậy, ví dụ, hãy tạo một danh sách rất đơn giản 1Nếu chúng tôi thêm một 33 vào cuối danh sách này, chúng tôi không chỉ trỏ 34 tới một danh sách khác, mà chúng tôi đang trực tiếp cập nhật danh sách hiện cóNgay cả khi chúng ta tạo nhiều biến danh sách, miễn là chúng trỏ đến cùng một danh sách, tất cả chúng sẽ được cập nhật khi danh sách đó thay đổi, như chúng ta có thể thấy trong đoạn mã bên dưới 4 0Đây là hình ảnh động về những gì đang thực sự xảy ra trong đoạn mã trên Điều này giải thích tại sao các biến toàn cầu của chúng tôi đã bị thay đổi khi chúng tôi thử nghiệm với các danh sách và từ điển trước đó. Vì danh sách và từ điển có thể thay đổi nên việc thay đổi chúng (thậm chí bên trong một hàm) sẽ thay đổi chính danh sách hoặc từ điển, đây không phải là trường hợp đối với các kiểu dữ liệu không thể thay đổi Giữ các kiểu dữ liệu có thể thay đổi không thay đổiNói chung, chúng ta không muốn các hàm của mình thay đổi các biến toàn cục, ngay cả khi chúng chứa các kiểu dữ liệu có thể thay đổi như danh sách hoặc từ điển. Đó là bởi vì trong các phân tích và chương trình phức tạp hơn, chúng ta có thể thường xuyên sử dụng nhiều chức năng khác nhau. Nếu tất cả họ đang thay đổi danh sách và từ điển mà họ đang làm việc, thì việc theo dõi những gì đang thay đổi những gì có thể trở nên khá khó khăn. Rất may, có một cách dễ dàng để giải quyết vấn đề này. chúng ta có thể tạo một bản sao của danh sách hoặc từ điển bằng phương thức Python tích hợp có tên là 35Nếu bạn chưa tìm hiểu về các phương pháp, đừng lo lắng. Chúng được đề cập trong khóa học Python trung cấp của chúng tôi, nhưng đối với hướng dẫn này, tất cả những gì bạn cần biết là 35 hoạt động giống như 37 1Hãy xem lại hàm mà chúng ta đã viết cho danh sách và cập nhật nó để những gì xảy ra bên trong hàm của chúng ta không thay đổi 6. Tất cả những gì chúng ta cần làm là thay đổi đối số mà chúng ta truyền vào hàm của mình từ 6 thành 40 2____13Như chúng ta có thể thấy, điều này đã khắc phục vấn đề của chúng ta. Đây là lý do tại sao. sử dụng 35 tạo một bản sao riêng của danh sách, để thay vì trỏ đến chính 6, 43 trỏ đến một danh sách mới bắt đầu bằng một bản sao của 6. Bất kỳ thay đổi nào được thực hiện đối với 43 sau thời điểm đó đều được thực hiện cho danh sách riêng biệt đó, chứ không phải chính 6, do đó, giá trị toàn cầu của 6 không thay đổiTuy nhiên, giải pháp này vẫn chưa hoàn hảo vì chúng ta sẽ phải nhớ thêm 35 mỗi khi truyền một đối số cho hàm của mình, nếu không sẽ có nguy cơ vô tình thay đổi giá trị chung của 6. Nếu chúng tôi không muốn phải lo lắng về điều đó, chúng tôi thực sự có thể tạo bản sao danh sách đó bên trong chính chức năng đó 4 3Với cách tiếp cận này, chúng ta có thể chuyển một biến toàn cục có thể thay đổi một cách an toàn như 6 vào hàm của mình và giá trị toàn cục sẽ không bị thay đổi vì chính hàm đó tạo một bản sao và sau đó thực hiện các thao tác của nó trên bản sao đóPhương pháp 35 cũng hoạt động với từ điển. Như với danh sách, chúng ta có thể chỉ cần thêm 35 vào đối số mà chúng ta chuyển hàm của mình để tạo một bản sao sẽ được sử dụng cho hàm mà không thay đổi biến ban đầu 6 7Nhưng một lần nữa, sử dụng phương pháp đó có nghĩa là chúng ta cần nhớ thêm 35 mỗi khi chúng ta chuyển một từ điển vào hàm 8 của mình. Nếu chúng tôi sẽ sử dụng chức năng này thường xuyên, có thể tốt hơn là triển khai sao chép vào chính chức năng đó để chúng tôi không phải nhớ thực hiện việc nàyDưới đây, chúng ta sẽ sử dụng 35 bên trong hàm. Điều này sẽ đảm bảo rằng chúng ta có thể sử dụng nó mà không cần thay đổi các biến toàn cục mà chúng ta chuyển cho nó dưới dạng đối số và chúng ta không cần nhớ thêm 35 vào mỗi đối số mà chúng ta chuyển 8 7Như chúng ta có thể thấy, việc sửa đổi chức năng của chúng ta để tạo một bản sao của từ điển và sau đó chỉ thay đổi số đếm thành tỷ lệ phần trăm trong bản sao đó đã cho phép chúng ta thực hiện thao tác chúng ta muốn mà không thực sự thay đổi 9kết luậnTrong hướng dẫn này, chúng ta đã xem xét sự khác biệt giữa các loại dữ liệu có thể thay đổi, có thể thay đổi và các loại dữ liệu không thay đổi, không thể thay đổi. Chúng tôi đã học cách sử dụng phương pháp 35 để tạo bản sao của các loại dữ liệu có thể thay đổi như danh sách và từ điển để chúng tôi có thể làm việc với chúng trong các hàm mà không thay đổi giá trị chung của chúngHướng dẫn này có hữu ích không?Chọn con đường của bạn để tiếp tục học các kỹ năng dữ liệu có giá trị Hướng dẫn Python Thực hành các kỹ năng lập trình Python của bạn khi bạn làm việc với các hướng dẫn miễn phí của chúng tôi Các khóa học khoa học dữ liệu Cam kết học tập với các khóa học khoa học dữ liệu tương tác, trong trình duyệt của bạn bằng Python, R, SQL, v.v. người mới bắt đầu từ điểnchức năngkiểu dữ liệu có thể thay đổidanh sáchkiểu dữ liệu có thể thay đổipythonHướng dẫn Thông tin về các Tác giả Charlie CusterCharlie là sinh viên ngành khoa học dữ liệu và cũng là nhà tiếp thị nội dung tại Dataquest. Trong thời gian rảnh rỗi, anh ấy học đi xe đạp leo núi và làm video về nó Bạn có thể sửa đổi danh sách trong Python không?Danh sách trong python là loại có thể thay đổi, nghĩa là có thể thay đổi danh sách sau khi gán một số giá trị . Danh sách tương tự như mảng trong các ngôn ngữ lập trình khác.
Việc sửa đổi một danh sách trong Python có nghĩa là gì?Modifying a list means to change a particular entry, add a new entry, or remove an existing entry. T","noIndex":0,"noFollow":0},"content":"
You can modify the content of a list as needed with Python. Thao tác danh sách trong Python là gì?Hướng dẫn lập trình Python 3 này bao gồm thao tác danh sách. Điều này bao gồm thêm nội dung vào cuối, chèn nội dung vào vị trí cụ thể, xóa nội dung, tìm dữ liệu, đếm số lần xuất hiện, sắp xếp và đảo ngược dữ liệu .
Bạn có thể thay thế một mục trong danh sách Python không?Bạn có thể thay thế các mục trong danh sách Python bằng cách sử dụng lập chỉ mục danh sách, hiểu danh sách hoặc vòng lặp for . Nếu bạn muốn thay thế một giá trị trong danh sách, cú pháp lập chỉ mục là phù hợp nhất. |
Bài Viết Liên Quan
Hướng dẫn micropython unsigned int - int không dấu micropython
Sau đây là một số ví dụ về việc sử dụng trình biên dịch nội tuyến và một số thông tin về cách làm việc xung quanh các hạn chế của nó. Trong tài liệu ...
Hướng dẫn convert latex to image python - chuyển đổi latex thành hình ảnh python
Tôi có một chức năng Tôi đang tiêu thụ trả về một chuỗi mã latex. Tôi cần tạo ra một hình ảnh từ điều này. Hầu hết các phương pháp tôi đã thấy khi ...
Hướng dẫn how do you use if and function in excel with multiple conditions? - làm thế nào để bạn sử dụng if và chức năng trong excel với nhiều điều kiện?
Hướng dẫn chỉ ra cách tạo nhiều câu lệnh IF trong Excel với và cũng như hoặc logic. Ngoài ra, bạn sẽ học cách sử dụng nếu cùng với các hàm Excel khác.Trong ...
Đầu dvd fortuner 2023
Trang chủĐầu DVD GPS Toyota Innova -FortunerBạn cảm thấy bài viết hữu ích?Bài viết liên quanBài viết nổi bậtBài viết mới nhấtdanhgiaXe NewsBài viết: ...
Hướng dẫn python for genomic data science pdf - python cho khoa học dữ liệu bộ gen pdf
Python cho khoa học dữ liệu bộ gen Tin sinh họcGiới thiệu về bộ genGiới thiệu PythonThiết lập hệ thống cho khoa học dữ liệuHướng dẫn về Notebook JupyterDữ ...
Hướng dẫn how do you generate a random 16 digit number in python? - làm thế nào để bạn tạo một số gồm 16 chữ số ngẫu nhiên trong python?
Việc triển khai [159518, 160205, 159843, 159997, 160493, 160187, 160626, 159665, 159429, 160037] 5 trong Python cố gắng sử dụng trình tạo [159518, 160205, 159843, 159997, 160493, ...
Đặt lại pass mysql linux ubuntu
MySQL reset Root Password là gì?Yêu cầu khi reset Pass MySQLCách MySQL reset Root Password trên các hệ điều hànhWindowsLinuxMySQL reset Root Password là nhu cầu có thể phát sinh ...
Hướng dẫn python json get value by key - python json nhận giá trị theo khóa
Trong khi tôi đang cố gắng truy xuất các giá trị từ chuỗi JSON, nhưng nó cho tôi một lỗi:data = json.loads({lat:444, lon:555}) return data[lat] Nhưng, nếu tôi lặp ...
Hướng dẫn mysql connector-java version - phiên bản kết nối mysql-java
Configuration properties define how Connector/J will make a connection to a MySQL server. Unless otherwise noted, properties can be set for a DataSource object or for a Connection object. ...
Hướng dẫn should i learn data science first or python? - tôi nên học khoa học dữ liệu trước hay trăn?
Suy nghĩ về việc trở thành một nhà phân tích dữ liệu? Nó là một con đường sự nghiệp rất hứa hẹn, nhưng các nhà phân tích dữ liệu thường được yêu ...
Hướng dẫn create a python gui application for temperature converter from celsius to fahrenheit and vice versa - tạo một ứng dụng gui python để chuyển đổi nhiệt độ từ c sang fahrenheit và ngược lại
import tkinter as tkfrom tkinter import messageboxfrom functools import partialtkinter as tk0____11 tkinter as tk2tkinter as tk3 tkinter as tk4tkinter as tk5tkinter as tk6 tkinter as tk7tkinter as ...
Hướng dẫn what is css full form in selenium? - css dạng đầy đủ trong selen là gì?
Bộ chọn CSS là gì?Các bộ chọn CSS trong selen là các mẫu chuỗi được sử dụng để xác định một phần tử dựa trên sự kết hợp của thẻ HTML, ID, lớp và ...
What day will JUNE 28th be on in 2023?
Other CalendarsCalendar Generator – Create a calendar for any year.Custom Calendar – Make advanced customized calendarsCalendar for 2022Printable Calendar (PDF) – Calendars especially made for ...
Nghị định hướng dẫn luật đầu tư công 2023
Ảnh minh họa. Nguồn: internetChỉ quyết định chủ trương đầu tư các dự án có hiệu quảChương trình thực hành tiết kiệm, chống lãng phí giai đoạn 2021-2025 ...
Hướng dẫn modulo in python example - mô-đun trong ví dụ python
Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để làm sâu sắc ...
Hướng dẫn crop pdf python - cắt xén pdf trăn
How do I know the coordinates to crop?Thanks for all answers above.Step 1. Run the following code to get (x1, y1).from PyPDF2 import PdfWriter, PdfReader reader = PdfReader(test.pdf) page = ...
Hướng dẫn open xlsx file in google sheets - mở tệp xlsx trong trang tính google
Tự động xem các tệp XLSX dưới dạng Google Sheet bằng cách cài đặt trình cắm Chrome này.Các báo cáo được tải xuống dưới dạng các tệp Microsoft Excel, với ...
Hướng dẫn how to reverse a string in javascript using while loop - cách đảo ngược chuỗi trong javascript bằng vòng lặp while
Có nhiều cách bạn có thể đảo ngược một chuỗi trong JavaScript. Tôi đang chia sẻ một phương thức đơn giản ở đây, cho thấy cách đảo ngược chuỗi hoặc ...
Hướng dẫn how zip all files in folder in php? - cách nén tất cả các tệp trong thư mục trong php?
Tôi đã tìm thấy bài đăng này trong Google là kết quả hàng đầu thứ hai, đầu tiên là sử dụng Exec :(Dù sao, trong khi điều này không chính xác là nhu cầu của ...
What is the cheapest time to go to Disney World 2023?
The Cheapest Time To Go To Disney World 2022The Cheapest Time To Go To Disney World 2022Are you looking for the cheapest time to visit Disney in 2022? The truth is, who isn’t! A trip to Disney ...