如何在列表列表中找到列表的名称而不是其值?

New*_*ere -1 python list python-3.x

我试图在列表列表中找到列表的名称(是否有"列表列表"的特定名称?).

例如,我有以下列表:

x= ["a","b"]
y= ["c","d"]
z= [x,y] 
Run Code Online (Sandbox Code Playgroud)

如果我现在想知道列表"z"中第一个列表的名称是什么,我会尝试这样:

print(z[0])
Run Code Online (Sandbox Code Playgroud)

但是,而不是"x"我得到x的值("a","b")

  • 如何获得输出"x"?

Tim*_*ace 6

您想使用字典而不是列表.如果列表只是值的枚举,则字典是键值数据结构.

这是您的示例看起来像字典文字的方式:

{
    "x": ["a", "b"],
    "y": ["c", "d"],
}
Run Code Online (Sandbox Code Playgroud)

与列表不同,字典不保留元素的顺序!如果您有需要保留订单的应用程序,则可以使用OrderedDict.更新:从Python 3.7开始,此段落不再适用.


小智 5

将变量名称作为输出是不可能的,除非您更改代码中的某些策略,例如:

x = ["a", "b"]
y = ["c", "d"]
z = {'x': x, 'y': y}
Run Code Online (Sandbox Code Playgroud)

使用字典可能更适合您的问题。然后,您可以搜索值 ["a", "b"] 并找到名称“x”。