为每个x创建新变量>;列表中的0(Python)

为每个x创建新变量>;列表中的0(Python),python,list,variables,Python,List,Variables,好吧,我掉进了XY陷阱。对不起。 我将重写我的问题: 我有一个数字列表,例如l=[1,3,5,1,0,0,0] 我需要一个字符串,其中包含每个大于0的数字。假设字符串是 string = "Your number is %s" % (x) 我怎样才能让它工作?特别是如果有两个相同的数字 ~~~~~~~~~~ 旧文本: 我需要一些帮助:例如,我有一个列表 numbers = [1,5,3,0,0,0,0] 现在我想为每一个大于零的数字定义一个新变量,并给它赋值。例如,我以上面的列表为例,以变量

好吧,我掉进了XY陷阱。对不起。 我将重写我的问题:

我有一个数字列表,例如l=[1,3,5,1,0,0,0]

我需要一个字符串,其中包含每个大于0的数字。假设字符串是

string = "Your number is %s" % (x)
我怎样才能让它工作?特别是如果有两个相同的数字

~~~~~~~~~~

旧文本:

我需要一些帮助:例如,我有一个列表

numbers = [1,5,3,0,0,0,0]
现在我想为每一个大于零的数字定义一个新变量,并给它赋值。例如,我以上面的列表为例,以变量结束:

o = 1
p = 5
q = 3
另外,重要的是,如果两个数字相同,我仍然需要为每个数字添加一个新变量,而这些变量将具有相同的值

如果我的清单是:

numbers = [1,5,3,1,0,0,0]
我需要这样的新变量:

o = 1
p = 5
q = 3
r = 1
因此,我做了以下功能:

def check(LIST):
    for x in LIST:
        if x > 0:
            #from here on I need help
我希望我的意思变得清晰,并且有人可以帮助我:)

问候

numbers = [1,5,3,1,0,0,0]
o = ord("o")
from itertools import count
for i,val in zip(count(o),(n for n in numbers if n > 0)):
    globals()[chr(i)] = val

print o
print p
但是我怀疑,正如评论中提到的那样,你真的不想这样做

根据你最新的问题

 print "\n".join(["your number is %s"%x for x in set(y for y in numbers if y > 0)])

我怀疑你实际上并不需要为每个非零条目添加新变量。当您需要跟踪大量潜在的内容时,您需要某种类型的数据结构。在这种情况下,
[x为x,如果x>0,则列表中的x]
可能适合您的需要。另请参见为什么这样做很愚蠢以及您应该做什么。好的,谢谢大家提供的提示。