Python:可以有一个列表列表吗?我如何称呼一个特定的列表?

Python:可以有一个列表列表吗?我如何称呼一个特定的列表?,python,list,Python,List,以下是我的想法: MSILISTS = [ AC_LIST = [ 'somename.msi', 'someothername.msi', ] ] 我不确定这是否正确 但问题是,我如何设置大量这些单独的列表,然后调用它们?您可以使用嵌套列表: MSILISTS = [ [ 'somename.msi', 'someothername.msi', ], ] print MSILISTS[0] 或

以下是我的想法:

MSILISTS = [
    AC_LIST = [
        'somename.msi',
        'someothername.msi',
    ]
]
我不确定这是否正确


但问题是,我如何设置大量这些单独的列表,然后调用它们?

您可以使用嵌套列表:

MSILISTS = [
    [
        'somename.msi',
        'someothername.msi',
    ],
]

print MSILISTS[0]
或者使用字典:

MSILISTS = {
    'AC_LIST': [
        'somename.msi',
        'someothername.msi',
    ]
}

print MSILISTS['AC_LIST']
MSILISTS = {"AC_LIST":['somename.msi','someothername.msi']}
MSILISTS = {  
    'AC_LIST' : [  
        'somename.msi',  
        'someothername.msi',  
    ]  
}
 my_dictionary = { 'number' : [1, 3, 4], 'letters' : ['A', 'B', 'C'], 'words' : ['you', 'me'] }

 print my_dictionary['letters']
 ['A', 'B', 'C']

如果您想要命名列表,您可以使用
MSILISTS
作为字典:

MSILISTS = {
    'AC_LIST': [
        'somename.msi',
        'someothername.msi',
    ]
}

print MSILISTS['AC_LIST']
MSILISTS = {"AC_LIST":['somename.msi','someothername.msi']}
MSILISTS = {  
    'AC_LIST' : [  
        'somename.msi',  
        'someothername.msi',  
    ]  
}
 my_dictionary = { 'number' : [1, 3, 4], 'letters' : ['A', 'B', 'C'], 'words' : ['you', 'me'] }

 print my_dictionary['letters']
 ['A', 'B', 'C']
如果只需要嵌套的、未命名的列表,也可以:

MSILISTS = [['somename.msi','someothername.msi']]
做一个口述

>>> MSILISTS = {}
>>> MSILISTS['AC_LIST'] = [
...         'somename.msi',
...         'someothername.msi',
...     ] 

>>> MSILISTS['AC_LIST']
['somename.msi', 'someothername.msi']

是的,您可以拥有列表列表,但您的代码不是有效的Python代码。以下将起作用:

MSILISTS = [ 
    [ 
        'somename.msi', 
        'someothername.msi', 
    ],
    [ 'some more data']
] 
内部列表只是外部列表的普通元素,因此您可以通过
MSILISTS[0]
访问它。如果要按名称访问列表,必须使用字典:

MSILISTS = {
    'AC_LIST': [
        'somename.msi',
        'someothername.msi',
    ]
}

print MSILISTS['AC_LIST']
MSILISTS = {"AC_LIST":['somename.msi','someothername.msi']}
MSILISTS = {  
    'AC_LIST' : [  
        'somename.msi',  
        'someothername.msi',  
    ]  
}
 my_dictionary = { 'number' : [1, 3, 4], 'letters' : ['A', 'B', 'C'], 'words' : ['you', 'me'] }

 print my_dictionary['letters']
 ['A', 'B', 'C']

现在,您可以通过
MSILISTS['AC_list']
访问内部列表。是的,这些只是多维列表

如果你真的想用这些提高性能,我建议使用一个叫做“numpy”的模块

下面是如何实例化列表列表:

>>> my_list = ['t','o','f','u']

>>> blah = [my_list,['b','a','g','s'],['b','a','n','a','n','a','s'],['planes','trains','automobiles']]
>>> blah[1]
['b', 'a', 'g', 's']
>>> blah[2]
['b', 'a', 'n', 'a', 'n', 'a', 's']
>>> blah[3]
['planes', 'trains', 'automobiles']
>>> blah[1][1]
'a'
>>> blah[3][1]
'trains'


etc. etc.

您可以有一个列表列表,但在这种情况下,列表不会命名。您必须通过索引号引用它们,或者对它们进行迭代。例如:

 my_list = [ [1, 3, 4], ['A', 'B', 'C'], ['you', 'me'] ]

 print my_list[1]
 ['A', 'B', 'C']

 for list in my_list:
    print list

 [1, 3, 4]
 ['A', 'B', 'C']
 ['you', 'me']
您还可以拥有列表字典,在这种情况下,您可以命名每个列表(但失去字典中列表的顺序):


请注意,在每种情况下,子列表的结构不必相同或包含相同的内容,较大列表或字典中的某些项也可以是列表以外的内容。

确实可以在列表中包含列表,如

a=[0,1,2,['a','b','c']]
要从中的列表中获取值,请使用其索引引用它
>>
在我的示例中,标记您键入的行,而没有该行的行将被输出

>>> a[3]
['a','b','c']
>>> a[3][1]
'b'
在这样的列表中不能有列表的名称:

a=[0,1,b=[2,3]]

这是因为这毫无意义,b会指向什么,从哪里可以访问它? 但是,您可以以名为dict的类型中的键/值对的形式关联对象。dict的文本如下所示:

a={'a':'b',2:'b','c':2}

您可以使用任何哈希对象作为键。这意味着可以使用其散列方法将任何对象转换为int,但字符串和int是最常见的字典键。 然后,您可以像在列表中一样引用值,但不是指定索引,而是指定键

>>> a['a']
'b'
>>> a[2]
'b'

@Achim它是最有效的。在大多数情况下,任何Python数据结构都可以包含任何其他数据结构的实例。您可以有元组列表、列表字典、列表列表列表、列表元组列表等。。