好吧,我掉进了 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
另外,重要的是,如果两个数字相同,我仍然需要为每个数字创建一个新变量,而这些变量将具有相同的值。
如果我的 list 是:
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)])
关于python - 为列表中的每个 x > 0 创建新变量 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26537468/