Python手动创建嵌套列表

时间:2018-03-09 22:48:20

标签: python list nested

如何做到这一点,因此它在代码中更具可读性:列表应该看起来像这样[[“a”,“b”],[“c”,“d”,“e”]]

foo = []   #create empty list
foo[0] = [] #create empty list for index 0
foo[1]=[] #create empty list to index of 1
foo[0][0] = "a" #assign a to index of 0,0 as per above example.
foo[0][1] = "b" #assign b to index of 0,1 as per above example.
foo[1][0] = "c" # and so on......

我使用for循环,如下面的代码。但是我的代码中有更长的字符串和许多嵌套列表,如上例所示,因此主索引达到10或某些东西,例如list [10] [8]。这使得代码看起来几乎不可读。

上面的一些东西很酷,所以更容易根据需要对事物或变量进行排序和重新定义......

此外,列表或嵌套列表中的项可以是变量吗?所以我可以只更改变量名中的字符串并更新我的代码而无需重新输入内容?

list=[]
list.append(["a","b"])
list.append(["c","d","e"])
print(list)
for i in list:
    for n in i:
        test = "it works"
        results= test + " "+ n
        print(results)

[['a', 'b'], ['c', 'd', 'e']]
it works a
it works b
it works c
it works d
it works e

更新

我正在尝试在我的系统上创建自动文件夹,以便项目下的某些文件夹相同,例如Project1> In,out,work> [编码,图形,动画等] Project2将在其中具有类似的目录结构...现在我的代码看起来太长了,就像我说我已经有了它的工作,但有没有办法手动添加东西,如在foo示例?如果我在几个月后回到它那里,它就会更加灵活,并且易于编辑。

我当前的嵌套数组看起来像这样

(["\\shots\\"+_SC+"\\Comp",
  "\\shots\\"+_SC+"\\FX",
  "\\shots\\"+_SC+"\\Lighting",
  "\\shots\\"+_SC+"\\Animation",
  "\\shots\\"+_SC+"\\Modeling",
  "\\shots\\"+_SC+"\\Plates",
  "\\shots\\"+_SC+"\\Camera",
  "\\shots\\"+_SC+"\\Concept"]) 

1 个答案:

答案 0 :(得分:0)

我不知道您的变量_SC可能是什么,但为此做一个简短易读的初始化非常简单。将公共前缀放入变量中;将更改的部分放入列表中。然后使用列表推导依次为每个选项添加前缀,从结果中列出一个列表。

category = [
    "Comp",
    "FX",
    "Lighting"
    "Animation",
    "Modeling",
    "Plates",
    "Camera",
    "Concept"
]

"prefix = \\shots\\" + _SC + "\\"
catalog = [prefix + area for area in category]