如果创建新列表

时间:2014-02-25 21:40:38

标签: python list

假设我有一个运行'n'次的while循环。我想在每次'n'除以7时创建一个新表。现在我不知道'n'是什么,所以如何让程序创建一个列表并将其称为一个随机名称,如list1,list2 ,list3 ..等... 我一直想知道这件事很长一段时间。感谢。

编辑:说'n'是1234或999900000.希望你明白我的意思。 'n'未知。

3 个答案:

答案 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'等等,

其中list1if 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]