为每个x创建新变量>;列表中的0(Python)
好吧,我掉进了XY陷阱。对不起。 我将重写我的问题: 我有一个数字列表,例如l=[1,3,5,1,0,0,0] 我需要一个字符串,其中包含每个大于0的数字。假设字符串是为每个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] 现在我想为每一个大于零的数字定义一个新变量,并给它赋值。例如,我以上面的列表为例,以变量
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]
可能适合您的需要。另请参见为什么这样做很愚蠢以及您应该做什么。好的,谢谢大家提供的提示。