猿问

如何通过while循环动态创建变量?

我想通过Python中的while循环动态创建变量。有没有人有这样的创造性手段?


如何通过while循环动态创建变量?

狐的传说
浏览 1145回答 4
4回答

慕哥6287543

使用exec()方法。例如,假设您有一个字典,并且您希望将每个键转换为具有原始字典值的变量,则可以执行以下操作。Python 2>>> c = {"one": 1, "two": 2}>>> for k,v in c.iteritems():...    exec("%s=%s" % (k,v))>>> one1>>> two2Python 3>>> c = {"one": 1, "two": 2}>>> for k,v in c.items():...    exec("%s=%s" % (k,v))>>> one1>>> two2

幕布斯6054654

将东西填充到全局和/或本地命名空间中并不是一个好主意。使用dict是如此的一些其他语言... d['constant-key'] = value只是看起来很尴尬。Python是OO。用大师的话来说:“”“命名空间是一个很棒的主意 - 让我们做更多的事情!”“”像这样:>>> class Record(object):...     pass...>>> r = Record()>>> r.foo = 'oof'>>> setattr(r, 'bar', 'rab')>>> r.foo'oof'>>> r.bar'rab'>>> names = 'id description price'.split()>>> values = [666, 'duct tape', 3.45]>>> s = Record()>>> for name, value in zip(names, values):...     setattr(s, name, value)...>>> s.__dict__ # If you are suffering from dict withdrawal symptoms{'price': 3.45, 'id': 666, 'description': 'duct tape'}>>>
随时随地看视频慕课网APP
我要回答