假设我有一个运行'n'次的while循环。我想在每次'n'除以7时创建一个新表。现在我不知道'n'是什么,所以如何让程序创建一个列表并将其称为一个随机名称,如list1,list2 ,list3 ..等... 我一直想知道这件事很长一段时间。感谢。
编辑:说'n'是1234或999900000.希望你明白我的意思。 'n'未知。
答案 0 :(得分:5)
是的,但您应不创建动态变量名称。更好的选择是将名称作为键存储在dict中,将“created table”作为相应的值
存储n = 50
myd = {}
list_num = 1
for i in range(1, n):
if i % 7 == 0:
myd['list{}'.format(list_num)] = 'i = {}'.format(i)
list_num += 1
print(myd)
现在,您只需要调用创建表格的方法来替换'i = {}'.format(i)
!
要访问特定的表格,您只需引用myd['list#']
(例如'list1'
,'list2'
等等,
其中list1
是if i % 7 == 0:
的第一个匹配,在您的情况下是7
,
和list2
将是第二场比赛(即14
)。
答案 1 :(得分:0)
def yourFunction(n):
i = 0
while i < n:
if n % 7 == 0:
create_new_table() # or whatever your new table code is
虽然我不知道你的意思是创建list1,list2,list3等。也许你想创建一个本身包含列表的列表?或者使用“list1”,“list2”等键和列表值创建字典?
答案 2 :(得分:0)
不清楚你对list1,list2,list3部分的意思,但我想这给出了如何解决这个问题的想法:modulo是你的朋友。
>>> n = 53;
>>> for i in range(0, n):
... if i % 7 == 0:
... list.append(i)
...
>>> list
[0, 7, 14, 21, 28, 35, 42, 49]