访问列表的列表,如蟒蛇
问题描述:
我正努力的代码字符串中的名称是如下 -访问列表的列表,如蟒蛇
IP1_list =['abcd', 'efgh']
IP2_list =['asdf', 'zxcv']
IP3_list =['qwer', 'poiu']
IP_list = [IP1_list, IP2_list, IP3_list]
command_list = [cmd1_IP1, cmd2_IP1, cmd3_IP2, cmd4_IP3]
for i in range(len(command_list)):
command, IP = cpmmand_list[i].split('_',1)
if some_var == command:
for j in range(len(IP_list):
IP_name, unwanted = IP_list[j].split('_',1)
if IP_name = IP
"do something"
注:some_var是我从一些其他的功能,这是工作的罚款越来越变量。
在这段代码中,我无法访问IP_list的元素作为字符串,因为它的元素是列表本身。 为前:如果我执行
print IP_list
这是印刷我所有的三个列表
如何处理这个问题? 我想访问IP_list的3个元素作为字符串,以便我可以解析它,然后与之前提取的名为IP的变量进行比较。
如果有任何其他的逻辑,那么它是受欢迎的。 谢谢
答
您无法将变量的“名称”作为字符串获取,您将直接访问该对象,并且每个sae都没有名称。然而,你可以切换到词典结构和存储所需的名字作为Key
并分配列表中的一个吧,像这样:再次
IP1_list =['abcd', 'efgh']
IP2_list =['asdf', 'zxcv']
IP3_list =['qwer', 'poiu']
IP_list = {'IP1_list' : IP1_list, 'IP2_list' : IP2_list, 'IP3_list' : IP3_list}
for key in IP_list:
IP_name, unwanted = key.split('_',1)
if IP_name == IP:
"do something"
不过,我会怎么做:
IP_list = {'IP1' : IP1_list, 'IP2' : IP2_list, 'IP3' : IP3_list}
并跳过
IP_name, unwanted = key.split('_',1)
你的意思是你想要做的'打印IP_List'和应该给你'[ “IP1_list”, “IP2_list”, “IP3_list”]'?这不可能。改用字典: – Torxed