web-dev-qa-db-ja.com

python

私はPythonでまったく新しいので、もうすぐ課題が出てきます。Pascalの三角形をPythonでコーディングしているユーザーの例を見てみましょう。それは「似ている」でしょう。

なんとかコーディングする方法をいくつか見つけましたが、理解できないコードを使用している人が何人か見つかりました。

基本的に、2つの角かっこが横に並んでいるリストまたは変数が表示された場合の意味(または意味)を調べています。コード例:

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])

7行目には次のようになっていることがわかります。

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

角括弧がリストであることを知っています。角括弧内の角括弧はリスト内/リストのリストであることを知っています。角括弧の横にある角括弧が何をしているのか誰でも説明できますか?

11
Syrum

リストがあれば

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

次に、l [0]は「foo」、l [1]は「bar」、l [2]はbuzです。

同様に、文字列の代わりにリストを含めることができます。

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

ここで、l [0]は[1,2,3]です。

その番号のリストの2番目の項目にアクセスする場合はどうでしょうか。あなたは言えた:

l[0][1]

l [0]は最初にリストを取得し、次に[1]がリストの2番目の番号を選択します。そのため、「角括弧の隣に角括弧」があります。

11
Bemmu

角括弧は、リストを定義するために使用されますが、リストから取得するためにも使用されます。

リストのリストがあり、内側のリストから何かが必要な場合は、その内側のリストを(角かっこを使用して)取得し、次に(角かっこを再度使用して)必要なものを取得する必要があります。

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