Tạo danh sách n số trong Python

Giả sử chúng ta có một số n. Ta phải tạo một danh sách các phần tử có kích thước n, các phần tử từ 1 đến n

Vì vậy, nếu đầu vào giống như n = 5, thì đầu ra sẽ là [1,2,3,4,5]

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • sử dụng chiến lược hiểu danh sách python để giải quyết vấn đề này
  • tạo một danh sách với i cho mỗi i từ 1 đến n, để làm điều này, chúng tôi sử dụng hàm range[]. Điều này sẽ lấy giới hạn dưới là n ở đây và giới hạn trên n+1 vì chúng tôi muốn tạo tối đa n

Ví dụ

Chúng ta hãy xem triển khai sau đây để hiểu rõ hơn -

def solve[n]:
   return [i for i in range[1,n+1]]
n = 5
print[solve[n]]

Đầu vào

5

đầu ra

[1, 2, 3, 4, 5]

Để tạo danh sách gồm 13 phần tử giữ chỗ, hãy nhân danh sách của một phần tử giữ chỗ với _______13. Ví dụ: sử dụng

5
5 để tạo danh sách
5
6 với năm phần tử
5
7. Sau đó, bạn có thể ghi đè lên một số thành phần bằng chỉ mục. Trong ví dụ,
n = 5
lst = [None] * n
print[lst]
# [None, None, None, None, None]
0 sẽ dẫn đến danh sách thay đổi
n = 5
lst = [None] * n
print[lst]
# [None, None, None, None, None]
1

Làm cách nào để tạo một danh sách Python có kích thước n?


Xem video này trên YouTube

Hãy chơi với trình bao mã tương tác trước khi bạn đi sâu vào giải pháp chi tiết

Tập thể dục. Khởi tạo danh sách với các phần tử giữ chỗ

n = 5
lst = [None] * n
print[lst]
# [None, None, None, None, None]
2
n = 5
lst = [None] * n
print[lst]
# [None, None, None, None, None]
3 và chạy mã

Tiếp theo, bạn sẽ tìm hiểu về vấn đề chính thức hơn và đi sâu vào giải pháp từng bước

Vấn đề. Cho một số nguyên

5
3. Làm cách nào để khởi tạo danh sách với các phần tử giữ chỗ
5
3?

# n=0 --> []
# n=1 --> [None]
# n=5 --> [None, None, None, None, None]

Dung dịch. Sử dụng thao tác nối danh sách

n = 5
lst = [None] * n
print[lst]
# [None, None, None, None, None]
6

n = 5
lst = [None] * n
print[lst]
# [None, None, None, None, None]

Bạn có thể sửa đổi phần tử

5
3 theo ý muốn. Trong các thao tác tiếp theo, bạn có thể ghi đè lên tất cả các phần tử danh sách
5
7 giữ chỗ bằng cách sử dụng các thao tác gán chỉ mục đơn giản

5
0

Tuy nhiên, có một vấn đề nhỏ nếu bạn muốn tạo một danh sách với các đối tượng có thể thay đổi [chẳng hạn như danh sách các danh sách]

5
1

Thay đổi một phần tử danh sách sẽ thay đổi tất cả các phần tử danh sách vì tất cả các phần tử danh sách đều tham chiếu đến cùng một đối tượng danh sách trong bộ nhớ

Giải pháp là sử dụng khả năng hiểu danh sách [xem hướng dẫn blog chi tiết của tôi về khả năng hiểu danh sách để có hướng dẫn đầy đủ]

5
2

Trong hình minh họa sau đây, bạn có thể thấy cách mỗi phần tử hiện tham chiếu đến một đối tượng danh sách độc lập trong bộ nhớ

Tập thể dục. Chạy trực quan hóa và thuyết phục bản thân rằng chỉ có một yếu tố được sửa đổi. Tại sao điều này là trường hợp?

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã trực tuyến của mình cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Chủ Đề