Chào các bạn mình đang làm một chương trình liên quan rới MẢNG trong python
Mình cũng từng học về LIST trong python trước đây nhưng mà mình nhận thấy hai khái niệm này hoàn toàn khác biệt bởi LIST không cho mình nhập thông số lúc chạy CT như trong C hay PASCAL
Bạn nào biết sử dụng MẢNG trong python để có thể nhập thông số từ bên ngoài có thể giúp mình không
Sử dụng "MẢNG" trong python?
Ý là bạn muốn khởi tạo 1 ‘mảng trong Python’ với số phần tử biết trước (tương tự C)?
Trong Python thì chỉ có list
thôi. Ngoài cái list
ra thì không còn cái gì khác mà bạn đang tìm đâu, nhưng có điều là bạn chưa quen với cách làm việc của nó thôi :3 Khi khởi tạo 1 mảng, thì mỗi phần tử đều có mang giá trị của nó (kể cả là giá trị NULL/None). Muốn thế, cứ làm:
-
list_test = [None, None, None, ...]
thêmNone
đến khi đúng số lượng phần tử bạn muốn. Hoặc đơn giản hơn làlist_test = [None] * array_size
. - Hoặc chỉ cần đến khi nào cần ‘nhét’ thêm phần tử thì dùng method
append
hoặcinsert
là được.
P/s: mình thấy C/Pascal mới bị gò bó, khó sử dụng mới đúng chứ?
Nè giả sử mình muốn truy xuất cái list_test[i] thế này mà nó báo lỗi bạn có cách nào giúp mình không ???
Vì i
bạn cho chạy từ 1 -> n nhưng list
thì bắt đầu bằng số 0 nên bạn chỉ cần sửa chỗ list_test[i]
thành list_test[i-1]
là được. Hoặc thay range(1, n+1)
thành range(n)
thôi cũng được.
Lỗi đó là do chỉ số truy xuất lớn hơn số phần tử có trong list, tức là list đang có n phần tử chạy từ 0 đến n-1, nhưng vòng lặp for truy xuất phần tử thứ n => lỗi.
Hơi liên quan là trong Python 2, bạn được khuyên là nên dùng xrange
thay cho range
(vì hàm range
không tự giải phóng bộ nhớ).
Yes mình vừa thử và đã thành công cám ơn bạn rất nhiều.
Haiz làm có cái chương trình mà từ chiều đến giờ hahaha
mình tìm được cái này