我有话要说
s = ['799.58812', '437.90386', '282.94545', '1.8511', '6.31', '-0.2928', '0.0687', '0.3615', '19.0002', '0.021375', '-76.404702', '-76.401867', '-76.400922', '-76.422349', '6.002']
现在我想把每个值存储在一个单独的变量中。你知道吗
我知道可以通过简单的p1=float(s.split()[1])来实现。你知道吗
但是我想要基于长度的新变量应该自动创建并存储值
示例:
p1 = 799.58812
p2 = 437.90386
p3 = 282.94545
....
....
....
p15 = 6.002
有谁能告诉我如何在python中做到这一点?你知道吗
方法1(最坏的方法):
正如其他人所提到的,您可以通过globals()或稍微安全一些的locals()实现您想要做的事情
不过,我强烈建议你不要那样做。这是糟糕的编码实践。如果你一开始就不能手工打出来,为什么还要手工打出来呢?实际上没有理由需要将该值作为局部变量,特别是考虑到将其添加到globals/locals所做的一切实际上就是将其添加到另一个字典中。你知道吗
方法2:保持原样
保持现状有什么不对?是这样的:
与
方法3:使用字典
那么
方法4:Getattr方法
如果你真的需要速记的话,我建议你用一个getattr集来命名一个类,你可以给任何你想方便的东西命名,比如。请记住,方法不能以数字开头:
你可以这样使用它:
你可以这样使用它:
方法5:Python魔法!你知道吗
结合使用property类、元类和newmagic方法。这是过分的,但至少你学会了python的一个好技巧。你知道吗
下面是你将如何使用它。你知道吗
您可以使用
globals()
来实现目标,即这将产生名为p1…p15的变量,或者,我更喜欢的方法是把它们放在你自己的字典里。你知道吗
这样做不好,最好在
s
上使用迭代,但是如果您想要:相关问题 更多 >
编程相关推荐