2016-12-11 26 views
5

Tôi hoàn toàn mới ở Python và có bài tập sắp tới. Giáo sư đã yêu cầu chúng ta xem xét các ví dụ về người dùng mã hóa Tam giác của Pascal bằng Python cho một cái gì đó sẽ là 'tương tự'.dấu ngoặc vuông đôi cạnh nhau trong python

Tôi đã quản lý để tìm một số cách để mã hóa nhưng tôi đã tìm thấy một số người sử dụng một số mã mà tôi không hiểu.

Về cơ bản, tôi đang tìm hiểu ý nghĩa của nó (hoặc không) khi bạn thấy danh sách hoặc biến có hai dấu ngoặc vuông cạnh nhau. mã ví dụ:

pascalsTriangle = [[1]] 
rows = int(input("Number of rows:")) 
print(pascalsTriangle[0]) 
for i in range(1,rows+1): 
    pascalsTriangle.append([1]) 
    for j in range(len(pascalsTriangle[i-1])-1): 
     pascalsTriangle[i].append(pascalsTriangle[i-1][j]+ pascalsTriangle[i-1][j+1]) 
    pascalsTriangle[i].append(1) 
print(pascalsTriangle[i]) 

Bạn sẽ thấy rằng dòng 7 có này:

pascalsTriangle[i].append(pascalsTriangle[i-1][j]+pascalsTriangle[i-1][j+1]) 

Tôi biết rằng dấu ngoặc vuông là danh sách. Tôi biết rằng dấu ngoặc vuông trong dấu ngoặc vuông là danh sách trong/danh sách. Bất cứ ai có thể mô tả những gì một khung vuông bên cạnh một khung vuông đang làm gì?

+0

Họ đang lập chỉ mục một danh sách phụ trong danh sách chính. –

Trả lời

4

Nếu bạn có một danh sách

l = ["foo", "bar", "buz"] 

Sau đó l [0] là "foo", l [1] là "thanh", l [2] là BUZ.

Tương tự, bạn có thể có danh sách trong đó thay vì chuỗi.

l = [ [1,2,3], "bar", "buz"] 

Hiện tại l [0] là [1,2,3].

Điều gì sẽ xảy ra nếu bạn muốn truy cập mục thứ hai trong danh sách số đó? Bạn có thể nói:

l[0][1] 

l [0] trước tiên đưa bạn vào danh sách, sau đó [1] chọn số thứ hai trong đó. Đó là lý do tại sao bạn có "khung vuông bên cạnh khung vuông".

+1

Cảm ơn bạn rất nhiều. Tôi thường thấy những thứ này khó hiểu nhưng đó là một câu trả lời vô cùng rõ ràng. – Syrum

2

Dấu ngoặc vuông được sử dụng để xác định danh sách, nhưng cũng để lấy những thứ từ danh sách.

Khi bạn có danh sách danh sách và muốn danh sách từ danh sách bên trong, bạn cần lấy danh sách bên trong đó (sử dụng dấu ngoặc vuông) và sau đó lấy nội dung mong muốn bên trong (sử dụng dấu ngoặc nữa).

lol = [[1, 2, 3], [4, 5, 6]] 
lol[1] 
# [4, 5, 6] 
lol[1][0] 
# 4 
+0

Cảm ơn bạn đã trả lời! – Syrum

Các vấn đề liên quan