Python - 如何将单词与迭代连接起来

Python - how to connect word with iteration

我正在 class 制作人物和他们的名字。我想为每个人起一个具体的名字,比如:

obj0, obj1, obj2... + obji

我正在尝试迭代执行此操作。 'obj' 和 'i' 可以用哪个符号连接?

for i in range(100):
    name=input('Your name:')
    obji=Person(name)

假设你真的想成为 pythonic(或者真的,只是没有疯狂到制作 100 个变量),你可以制作一个 list.

obj = []
for i in range(100):
    name=input('Your name:')
    obj.append(Person(name))

如果您想在循环之前设置列表的大小以便可以使用 i 访问它,您可以这样做

obj = [None] * 100
for i in range(100):
    name=input('Your name:')
    obj[i] = Person(name)

不要尝试动态创建这样的变量,例如,您可以使用字典

people = {}
for i in range(100):
    name = input('Your name:')
    people[i] = name

然后你可以像这样查找它们

people[7]

虽然如果它们只是顺序排列,而不是 dict 你可以只使用 list

people = []
for i in range(100):
    people.append(input('Your name: '))

你仍然可以用同样的方式看人

people[7]

与其尝试创建单独的相关名称,不如将它们放在一个列表中:

objs=[]
for i in range(100):
    name = input("Your Name? ")
    objs.append(Person(name)