我建议您只使用列表或字典,而不要使用动态变量名。下面的所有版本都导致lists[0],lists[1]等为[],看起来似乎与您想要的足够接近,并且从长远来看将更具可读性/可维护性。(注意:我使用lists而不是list作为变量名,因为后者会覆盖内置list函数,您可能不希望这样做)。1)具有lists列表列表的版本(数字只是列表的顺序):lists = [[] for i in range(len(myself))]2)相同,但是使用for循环而不是列表理解:lists = []for i in range(len(myself)): lists.append([])3)版本lists是带有数字作为键的列表的字典(如果您以后要删除某些值,则更加灵活):lists = {}for i in range(len(myself)): lists[i] = []关于动态变量名,即像这样的变量,list1而不是lists[1]...认真地说,您可能不应该这样做。它不必要地复杂且难以维护。考虑一下-下个月您将要修改脚本,然后尝试找出变量的list1定义位置,而纯文本搜索将无法做到这一点。真痛苦 但是,如果你真的想出于某种原因,这是可能的exec- 这里有一些理由不使用它 -或修改locals()- 根据文档坏主意。另请参阅评论以获取更多讨论,以讨论这些东西为什么不是一个好主意,甚至在谈论这些问题时也令人困惑。