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数据结构都可以包含任何其他数据结构的实例。您可以有元组列表、列表字典、列表列表列表、列表元组列表等。。