我想知道这样的事情是否可能。让我们假设这段代码:
area = ["A","B","C"]
level = ["L1","L2","L3"]
sector = [area, level]
print(sector)
print(sector[1])
输出:
- Print 1:
[['A', 'B', 'C'], ['L1', 'L2', 'L3']]
- 打印2:
['L1', 'L2', 'L3']
第一个打印对我来说是OK的。它显示列表及其元素。
然而,对于第二次打印,我希望使用作为列表的名称而不是它的元素。在本例中,level
这可能吗?
你可以使用字典:
di = {"area": ["A", "B", "C"], "level": ["L1", "L2", "L3"]}
di["area"]
输出:
["A", "B", "C"]
您可以比较id
:
for sec in sector:
if id(sec) == id(area):
print('area')
elif id(sec) == id(level):
print('level')
等。
然而,这是一种可疑的方式。你为什么需要这个?
让它成为一个Dictionary of Lists而不是List of Lists:
area = ["A","B","C"]
level = ["L1","L2","L3"]
sectors = {
"area": area,
"level": level
}
print(sectors["level"])
print(sectors["area"])
""" some other useful dict methods below """
print(sectors.keys())
print(sectors.values())
print(sectors.items())
您可以根据您的用例使用字典。
可以将变量名作为键,列表作为值。
试试这个:
area = ["A","B","C"]
level = ["L1","L2","L3"]
sector = {"area":area, "level":level}
print(list(sector.values()))
print(list(sector.keys()))
输出:
[['A', 'B', 'C'], ['L1', 'L2', 'L3']]
['area', 'level']