![](/img/trans.png)
[英]How to return a list of integers that count total number of strings in a list of list of list of strings that satisfy a given condition?
[英]return a list for the given number
我知道如何使用 append 將項目分配給空數組:
matri=[]
def matr_meth(n):
for i in range(1,n+1):
matri.append(i)
return matri
print(matr_meth(6))
但是在這里我看到了另一種我不明白的方法,我們如何將索引分配給數組matri + = [i]的名稱,如果matri [i] = i + 1 for exaple cuz alawys數組進行比較,我會得到它索引像 c 和 c++ 可能,第二個在新方法中,如果我在方法之前定義 matri=[] 它將不起作用,就像我在 Z9516DFB15F51C7EE19A4D46B8C0DBE1D 方法中所做的那樣:
def matr_meth(n):
matri=[]
for i in range(1,n+1):
matri +=[i]
return matri
print(matr_meth(6))
您在這里偶然發現了兩個相關但截然不同的問題。 讓我們從第一個開始。 [i]
本身不是數組下標運算符。 這是一個包含一個元素的列表。 所以
matri += [i]
真的只是
matri = matri + [i]
或者,更詳細地說,
my_temporary_list = [i]
matri = matri + my_temporary_list
和+
在列表上定義為連接。 所以這只是將兩個列表放在一起的一種更好的方式。 在這個例子中它並不是很有用(如果我只有一個元素要附加,我肯定會使用.append
),但是如果你有一個完整的列表(其長度可能大於一個),那么將它放在一個 append 中更快 Z3484D1F91BFBA75A 例如,你的for
循環
for i in range(1,n+1):
matri +=[i]
實際上可以寫成
matri += range(1, n + 1)
+=
on list
可以將任何可迭代對象(例如range
)作為參數。
現在回答你的第二個問題。
def matr_meth(n):
matri=[]
for i in range(1,n+1):
matri += [i]
return matri
這里, matri
是matr_meth
中的一個局部變量。
matri=[]
def matr_meth(n):
for i in range(1,n+1):
matri.append(i)
return matri
這里, matri
是一個全局變量,簡單明了。 它變得模糊的地方是
matri=[]
def matr_meth(n):
for i in range(1,n+1):
matri += [i]
return matri
現在我們在matri
的內部和外部分配矩陣(請記住, +=
只是=
和+
一起的快捷方式)。 所以matri
可以合理地假設矩陣是一個全局變量,或者它可以合理地假設您打算在 function 中創建一個新的局部變量。 為了避免遠距離動作錯誤, matri
做出保守的選擇,假設您的意思是矩陣是一個新的局部變量。 由於您在這種情況下打算相反,因此只需使用global
關鍵字。
matri=[]
def matr_meth(n):
global matri
for i in range(1,n+1):
matri += [i]
return matri
Python 中的列表支持加法運算符:
>>> [1, 2, 3] + [4, 5]
[1, 2, 3, 4, 5]
使用該循環,您可以使用單元素列表有效地擴展matri
列表,即:
| i | matri | [i] | matri + [i] |
| - | --------------- | --- | ---------------------------- |
| 1 | [] | [1] | [] + [1] |
| 2 | [1] | [2] | [1] + [2] |
| 3 | [1, 2] | [3] | [1, 2] + [3] |
...
| 6 | [1, 2, 3, 4, 5] | [6] | [1, 2, 3, 4, 5] + [6] |
def matr_meth(n):
matri=[]
for i in range(1,n+1):
matri += [i]
return matri
您將matri=[]
初始化為一個空列表,它是一個列表。 [i]
也是一個列表。 如果在兩個列表之間應用+
運算符,它本質上是將第二個列表附加到第一個列表。
在 for 循環中,您將每個[i]
附加到matri
。 matri
在 for 循環中不斷變化。 您可以使用打印 function 來查看它。
def matr_meth(n):
matri=[]
for i in range(1,n+1):
matri += [i]
print('At the '+str(i)+'-th iteration, matri is: ' )
print(matri)
return matri
matr_meth(6)
Output:
At the 1-th iteration, matri is:
[1]
At the 2-th iteration, matri is:
[1, 2]
At the 3-th iteration, matri is:
[1, 2, 3]
At the 4-th iteration, matri is:
[1, 2, 3, 4]
At the 5-th iteration, matri is:
[1, 2, 3, 4, 5]
At the 6-th iteration, matri is:
[1, 2, 3, 4, 5, 6]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.