Cách Mảng và Danh sách hoạt động trong Python

Cách Mảng và Danh sách hoạt động trong Python

Mảng và danh sách là một số cấu trúc dữ liệu hữu ích nhất trong lập trình - mặc dù rất ít người thực sự sử dụng chúng hết khả năng của chúng. Hôm nay tôi sẽ nói cho bạn những điều cơ bản, cùng với một số ví dụ Python đơn giản.





Điều kiện tiên quyết

Không có nhiều điều bạn cần biết trước để tìm hiểu những khái niệm này. Kiến thức cơ bản về mô hình lập trình và Python sẽ hữu ích, nhưng nó không bắt buộc. Đọc của chúng tôi các ví dụ cơ bản về Python nếu bạn không biết bắt đầu từ đâu. Nếu bạn nghĩ Python là một ngôn ngữ vô dụng, hãy xem lý do tại sao nó không phải là ngôn ngữ của chúng tôi.





Mặc dù những ý tưởng cơ bản sau đây có thể được áp dụng cho bất kỳ ngôn ngữ nào, nhưng tôi sẽ trình bày các ví dụ bằng Python. Nó là một ngôn ngữ dễ học và cung cấp một nền tảng tuyệt vời để hiểu những gì đang xảy ra. Ngoài điều này, tutorialspoint.com cung cấp một trình thông dịch Python trực tuyến tuyệt vời - bạn thậm chí không phải cài đặt Python nếu bạn không muốn (nếu bạn muốn, hãy xem hướng dẫn của chúng tôi về môi trường ảo).





Cấu trúc dữ liệu

Một là gì cấu trúc dữ liệu ? Ở cấp độ cơ bản nhất, cấu trúc dữ liệu là một cách lưu trữ dữ liệu hiệu quả. Rất dễ nhầm lẫn vì cấu trúc dữ liệu không Loại dữ liệu . Các kiểu dữ liệu cho trình biên dịch (hoặc trong trường hợp của Python là trình thông dịch) dữ liệu được dự định sử dụng như thế nào. Cấu trúc dữ liệu chỉ định các hoạt động có thể được thực hiện và thường thực hiện các quy tắc và quy định cụ thể.

Bạn có thể đã nghe nói về một số tuyến tính kiểu dữ liệu (các phần tử là tuần tự):



  • Mảng
  • Ma trận
  • Bảng tra cứu

Tương tự, danh sách thường chứa các quy tắc và phương pháp để điều chỉnh cách chúng hoạt động. Một số danh sách phổ biến là:

  • Danh sách liên kết
  • Danh sách được liên kết gấp đôi
  • Danh sách mảng hoặc Mảng động

Có rất nhiều cấu trúc dữ liệu khác nhau. Bạn có thể đã nghe nói về cây nhị phân , đồ thị , hoặc băm . Hôm nay tôi sẽ thảo luận về những điều cơ bản, nhưng bạn có thể muốn tìm hiểu thêm một khi bạn cảm thấy thoải mái.





Mảng

Hãy cùng bắt đầu lại từ đầu. Mảng là một tập hợp các giá trị (có liên quan) đơn giản. Các giá trị này được gọi là phần tử. Chúng thường có thể là bất kỳ kiểu dữ liệu nào bạn thích, bao gồm các đối tượng hoặc danh sách khác! Lưu ý chính với mảng là tất cả dữ liệu phải giống nhau - bạn không thể lưu trữ các chuỗi và số nguyên hỗn hợp. Bạn Gần luôn phải chỉ định số lượng phần tử bạn muốn lưu trữ. Kích thước thay đổi hoặc mảng động có tồn tại, nhưng các mảng có độ dài cố định bắt đầu đơn giản hơn.

Python làm phức tạp mọi thứ một chút. Nó làm cho mọi thứ trở nên rất dễ dàng đối với bạn, nhưng không phải lúc nào nó cũng tuân theo các định nghĩa nghiêm ngặt về cấu trúc dữ liệu. Hầu hết các đối tượng trong Python thường là danh sách, vì vậy việc tạo một mảng thực sự là công việc nhiều hơn. Đây là một số mã khởi động:





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

Dòng đầu tiên nhập mảng mô-đun - đó là bắt buộc để làm việc với mảng. Dòng thứ hai tạo một mảng mới có tên con số và khởi tạo nó với các giá trị 2, 4, 6 và 8. Mỗi phần tử được gán một số nguyên giá trị được gọi là Chìa khóa hoặc mục lục . Các phím bắt đầu từ số không , vì thế số [0] sẽ truy cập phần tử đầu tiên ( 2 ):

Bạn có thể tự hỏi những gì 'tôi' được sử dụng để. Đây là một đánh máy điều đó cho Python biết rằng mảng sẽ lưu trữ các số nguyên. Loại điều này thông thường sẽ không cần thiết trong Python (nó sẽ được coi là 'không thể nói được'). Lý do cho điều này là đơn giản. Mảng trong Python là một lớp bao bọc rất mỏng trên các mảng C cơ bản của hệ điều hành của bạn. Điều này có nghĩa là chúng nhanh và ổn định, nhưng chúng có thể không phải lúc nào cũng tuân theo cú pháp Python.

nơi giá rẻ để sửa màn hình

Bạn không thể lưu trữ các loại hỗn hợp trong các mảng này. Giả sử bạn muốn lưu trữ chuỗi 'makeuseof.com':

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Điều này sẽ không được phép và sẽ đưa ra một ngoại lệ:

Đây là cách bạn có thể in tất cả các phần tử:

print(numbers)

Phương pháp truy cập các phần tử mảng này hoạt động tốt và nó hoàn hảo cho tác vụ phù hợp. Những gì nó không tốt cho là truy cập toàn bộ mảng. Các lập trình viên vốn dĩ rất lười biếng, vì vậy tôi sẽ vui vẻ viết nhiều hơn, mã tốt hơn, nếu điều đó có nghĩa là tôi có thể bảo trì dễ dàng hơn và giảm bớt nỗ lực sao chép và dán.

Mọi ngôn ngữ lập trình sẽ triển khai một số loại vòng lặp, chúng hoàn hảo để lặp (lặp) qua các phần tử danh sách. Các vòng lặp phổ biến nhất là trong khi . Python làm cho mọi thứ trở nên dễ dàng hơn bằng cách cung cấp một tại vòng:

for number in numbers:
print(number)

Lưu ý rằng bạn không phải truy cập các phần tử bằng khóa của chúng như thế nào. Đây là một cách tốt hơn nhiều để làm việc với một mảng. Một cách thay thế để lặp lại danh sách là với vòng:

for i in range(len(numbers)):
print(numbers[i])

Điều này thực hiện chính xác giống như ví dụ trước, mặc dù bạn phải chỉ định số phần tử trong mảng ( len (ô tô) ), cùng với việc vượt qua tôi làm chìa khóa cho mảng. Đây gần như chính xác là mã tại vòng lặp chạy. Cách này mang lại sự linh hoạt hơn một chút và nhanh hơn một chút (mặc dù tại vòng lặp là quá đủ nhanh số đông của thời gian.)

Danh sách

Bây giờ bạn đã biết cách hoạt động của mảng, hãy xem danh sách. Đôi khi nó có thể gây nhầm lẫn vì mọi người sử dụng các thuật ngữ khác nhau thay thế cho nhau và danh sách mảng ... loại.

Danh sách là một kiểu mảng đặc biệt. Sự khác biệt lớn nhất là danh sách có thể chứa Trộn các kiểu (hãy nhớ, mảng phải chứa các phần tử cùng kiểu). Danh sách rất dễ dàng bằng Python:

làm thế nào để có một hình nền động windows 10
cars = ['Ford', 'Austin', 'Lancia']

Lưu ý rằng bạn không cần nhập mảng mô-đun?

Cú pháp này khai báo một danh sách được gọi là ô tô. Bên trong dấu ngoặc vuông, mỗi phần tử của danh sách được khai báo. Mỗi phần tử được phân tách bằng dấu phẩy và vì mỗi phần tử là một chuỗi, bạn khai báo chúng bên trong dấu ngoặc kép. Python biết đây là một đối tượng, vì vậy in câu lệnh sẽ xuất ra nội dung của danh sách:

print(cars)

Cũng giống như với mảng, bạn có thể lặp lại các phần tử danh sách bằng cách sử dụng các vòng lặp:

for car in cars:
print(car)

Thủ thuật thực sự của các danh sách là kiểu hỗn hợp của chúng. Hãy tiếp tục và thêm một số dữ liệu bổ sung:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

Đây không phải là vấn đề đối với Python - nó thậm chí còn không đưa ra một ngoại lệ:

Thật dễ dàng để thêm các phần tử mới vào danh sách (điều không thể xảy ra với mảng):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Bạn cũng có thể hợp nhất hai danh sách thành một:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

Thật dễ dàng để loại bỏ các phần tử bằng cách sử dụng tẩy cú pháp:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

Điều đó bao gồm những điều cơ bản về danh sách và mảng trong Python. Tại sao không xem xét một dự án mã hóa, chẳng hạn như đọc và ghi vào Google Trang tính, đọc dữ liệu json. Có thể bạn có thể sử dụng các kỹ năng mới của mình để tạo ra một số các nút tắt tùy chỉnh . Mặc dù là một ngôn ngữ lập trình khác, các nguyên tắc mảng này vẫn được áp dụng.

Đăng lại Đăng lại tiếng riu ríu E-mail 5 mẹo để nạp đầy năng lượng cho máy VirtualBox Linux của bạn

Bạn mệt mỏi với hiệu suất kém do các máy ảo cung cấp? Đây là những gì bạn nên làm để tăng hiệu suất VirtualBox của mình.

Đọc tiếp
Chủ đề liên quan
  • Lập trình
  • Lập trình
  • Python
Giới thiệu về tác giả Joe Coburn(136 bài báo đã xuất bản)

Joe tốt nghiệp ngành Khoa học Máy tính tại Đại học Lincoln, Vương quốc Anh. Anh ấy là một nhà phát triển phần mềm chuyên nghiệp và khi anh ấy không lái máy bay không người lái hay viết nhạc, anh ấy thường có thể bị bắt gặp chụp ảnh hoặc sản xuất video.

Xem thêm từ Joe Coburn

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký