簡體   English   中英

python如何制作動態對象名稱

[英]python how to make dynamic object name

我有一類“ karte”,我想知道是否有一種方法可以動態創建新對象的名稱,而普通對象的創建方法是

karta = karte()

但是我對這樣的事情很好奇

karta [i] = karte()

或類似的東西,我將是for循環的數量。 最后我會這樣稱呼對象

karta1.boja
karta2.boja
karta3.boja

我怎么能做到這一點,我是python新手,謝謝。

您可以創建這樣的對象列表:

karta = []
for i in range(10):
    karta.append(karte())

或使用列表推導:

karta = [karte() for i in range(10)]

現在,您可以像這樣訪問對象: karta[i]

要完成最后一個示例,您必須修改globals()字典。 我一點也不認可,但是這里是如何做的:

g = globals()
for i in range(10):
    g["karte" + str(i)] = karte()

但是,這不是很pythonic,您應該只使用一個列表。

除非您確實有必要將對象保留在列表之外,並且使用諸如karta1,karta2之類的名稱。否則我將按照您的建議進行操作,並使用帶有循環的列表進行初始化:

for i in some_range:
    karta[i]=karte()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM