是否有更短的方式来分配这些变量?

时间:2014-01-19 21:36:41

标签: python variables

假设我的程序在启动时需要声明以下变量:

Pos_List  = []
Room_List = []
Type_List = []
Spec_List = []
Sub_List  = []
Rtr_List  = []
IPa_List  = []
MAC_List  = []

目前要做到这一点,我完全如上所示。我的问题是,有没有更短的方法来做到这一点,甚至一种方法在一条线上做到这一切?在我的程序中有几次出现这种情况,并占用了大量空间。有什么建议?感谢。

4 个答案:

答案 0 :(得分:5)

实际上,您应该使用更合理的数据结构,例如

lists = {"Pos": [], "Room": [], "Type": [],...}

而不是所有这些非常相似的名字。

答案 1 :(得分:1)

您可以尝试以下方法:

Pos_List, Room_List, Type_List, Spec_List, Sub_List, Rtr_List, IPa_List, MAC_List = [], [], [], [], [], [], [], []

我建议您关注Python naming conventionspos_list而不是Pos_List

答案 2 :(得分:1)

The list multiplication syntax is not recommended。试试这个:

Pos_List, Room_List, Type_List, Spec_List, Sub_List, Rtr_List, IPa_List, MAC_List = [[]for _ in range(8)]

答案 3 :(得分:0)

所有这些答案都有点疯狂的补充

for name in "Pos Room Type Spec Sub Rtr IPa MAC".split():
    globals()[name+"_List"] = []