嵌套列表python

嵌套列表python,python,Python,有人能告诉我如何在嵌套列表中调用索引吗 一般来说,我只是写: for i in range (list) 但是,如果我有一个嵌套列表的列表,如下所示: Nlist = [[2,2,2],[3,3,3],[4,4,4]...] 我想分别浏览每一个的索引?如果你真的需要索引,你可以按照你对内部列表所说的做: l = [[2,2,2],[3,3,3],[4,4,4]] for index1 in xrange(len(l)): for index2 in xrange(len(l[inde

有人能告诉我如何在嵌套列表中调用索引吗

一般来说,我只是写:

for i in range (list)
但是,如果我有一个嵌套列表的列表,如下所示:

Nlist = [[2,2,2],[3,3,3],[4,4,4]...]

我想分别浏览每一个的索引?

如果你真的需要索引,你可以按照你对内部列表所说的做:

l = [[2,2,2],[3,3,3],[4,4,4]]
for index1 in xrange(len(l)):
    for index2 in xrange(len(l[index1])):
        print index1, index2, l[index1][index2]
但遍历列表本身更具python风格:

for inner_l in l:
    for item in inner_l:
        print item

如果您确实需要索引,也可以使用:


你可以这样做。根据您的情况进行调整:

  for l in Nlist:
      for item in l:
        print item
请尝试以下设置:

a = [["a","b","c",],["d","e"],["f","g","h"]]
要打印第一个列表(“b”)中的第二个元素,请对第三个列表(“g”)中的第二个元素使用
打印a[0][1]
打印a[2][1]


第一个括号引用您正在访问的嵌套列表,第二对括号引用该列表中的项

问题标题太宽,作者的需求更具体。在我的例子中,我需要从嵌套列表中提取所有元素,如下例所示:

例子: 下面的代码给出了结果,但我想知道是否有人可以创建一个更简单的答案:

def get_elements_from_nested_list(l, new_l):
    if l is not None:
        e = l[0]
        if isinstance(e, list):
            get_elements_from_nested_list(e, new_l)
        else:
            new_l.append(e)
        if len(l) > 1:
            return get_elements_from_nested_list(l[1:], new_l)
        else:
            return new_l
方法的调用
输出:
n=[1,2,3,4,5,6,7,8,9]
我认为您希望同时和分别访问列表值及其索引:

l = [[2,2,2],[3,3,3],[4,4,4],[5,5,5]]
l_len = len(l)
l_item_len = len(l[0])
for i in range(l_len):
    for j in range(l_item_len):
        print(f'List[{i}][{j}] : {l[i][j]}'  )

你需要重写你的问题并把它说清楚。你使用“索引”是可疑的;也许你的意思是“项”?这是一个关于遍历嵌套列表的问题,是关于比较嵌套列表的问题。这段代码是一个不必要的重复发明,这是有帮助的,但我讨厌你如何使用变量“l”、i和1。所以奇怪的“难以阅读和区分”,我不知道人们为什么要为他们的示例这样做。
def get_elements_from_nested_list(l, new_l):
    if l is not None:
        e = l[0]
        if isinstance(e, list):
            get_elements_from_nested_list(e, new_l)
        else:
            new_l.append(e)
        if len(l) > 1:
            return get_elements_from_nested_list(l[1:], new_l)
        else:
            return new_l
l = [1,2,[3,4]]
new_l = []

get_elements_from_nested_list(l, new_l)
n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]]
def flatten(lists):
  results = []
  for numbers in lists:
    for numbers2 in numbers:
        results.append(numbers2) 
  return results
print flatten(n)
l = [[2,2,2],[3,3,3],[4,4,4],[5,5,5]]
l_len = len(l)
l_item_len = len(l[0])
for i in range(l_len):
    for j in range(l_item_len):
        print(f'List[{i}][{j}] : {l[i][j]}'  )