python列表可以是变量吗_Python列表作为变量名称

这是一个坏主意。您不应该动态创建变量名称,而是使用字典:

variables = {}

for name, colour, shape in Applist:

variables[name + "_n"] = name

variables[name + "_c"] = colour

variables[name + "_s"] = shape现在将它们作为variables["Apple_n"]等访问它们。

你真正想要的,也许是一个决定词:

variables = {}

for name, colour, shape in Applist:

variables[name] = {"name": name, "colour": colour, "shape": shape}

print "Apple shape: " + variables["Apple"]["shape"]或者,甚至可能更好,namedtuple:

from collections import namedtuple

variables = {}

Fruit = namedtuple("Fruit", ["name", "colour", "shape"])

for args in Applist:

fruit = Fruit(*args)

variables[fruit.name] = fruit

print "Apple shape: " + variables["Apple"].shape如果使用namedtuple,则无法更改每个Fruit的变量(即没有设置variables["Apple"].colour到"green"),因此根据预期用途,它可能不是一个好的解决方案。如果您喜欢namedtuple解决方案但想要更改变量,则可以将其改为完整的Fruit类,可以将其用作上述代码中namedtuple Fruit的替代品。

class Fruit(object):

def __init__(self, name, colour, shape):

self.name = name

self.colour = colour

self.shape = shape

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值