创建 for 循环以删除嵌套列表中的元素
Creating a for loop to delete elements in a nested list
我的程序中有一个嵌套循环,它是这样的:
x = [[a, 1, 2, 3, 4, 5], [b, 6, 7, 8, 9, 10], [c, 11, 12, 13, 14, 15]]
我尝试创建一个 for 循环以从整个 x 列表中的每个嵌套列表中删除第一个元素 (a、b、c)。它是这样的:
for i in x:
del x[i][[0]
这对我不起作用。我假设如果我有 'x[i][0]' i 值将使 for 循环遍历整个 x 列表中的每个元素,并且 [0] 值将允许 python 删除列表中的 0 元素.
您正在循环已经在 for 循环中的元素。 'i' 将是内部列表。
x = [['a', 1, 2, 3, 4, 5], ['b', 6, 7, 8, 9, 10], ['c', 11, 12, 13, 14, 15]]
for i in x:
del i[0]
# print(x)
# [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]
i
的值是循环中列表x
的元素。如果你想获得元素的索引,你可以使用:
for i in range(len(x)):
print(x[i])
据我了解,您要查找的结果是:[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]
如果您运行以下代码:
for i in x:
print(i)
您将在新行中获取 x
的每个元素,首先是 [a, 1, 2, 3, 4, 5]
,然后是 [b, 6, 7, 8, 9, 10]
,依此类推。这是因为当你像这样迭代时 for i in x
,i
取 x
(列表)的值,而不是它的索引。
您有两种方法可以消除每个列表的第一项。
遍历每个列表并删除它的第一个元素。因此,对于 x
中的每个列表元素 i
,您删除 i[0]
for i in x:
del i[0]
使用 range(len(x))
遍历列表的索引。 range(len(x))
是从 0
到 len(x)-1
的值列表,因此 i
现在将对应于 x
.
中所有元素的索引
for i in range(len(x)):
del x[i][0]
这将为您提供所需的结果。
我的程序中有一个嵌套循环,它是这样的:
x = [[a, 1, 2, 3, 4, 5], [b, 6, 7, 8, 9, 10], [c, 11, 12, 13, 14, 15]]
我尝试创建一个 for 循环以从整个 x 列表中的每个嵌套列表中删除第一个元素 (a、b、c)。它是这样的:
for i in x:
del x[i][[0]
这对我不起作用。我假设如果我有 'x[i][0]' i 值将使 for 循环遍历整个 x 列表中的每个元素,并且 [0] 值将允许 python 删除列表中的 0 元素.
您正在循环已经在 for 循环中的元素。 'i' 将是内部列表。
x = [['a', 1, 2, 3, 4, 5], ['b', 6, 7, 8, 9, 10], ['c', 11, 12, 13, 14, 15]]
for i in x:
del i[0]
# print(x)
# [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]
i
的值是循环中列表x
的元素。如果你想获得元素的索引,你可以使用:
for i in range(len(x)):
print(x[i])
据我了解,您要查找的结果是:[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]
如果您运行以下代码:
for i in x:
print(i)
您将在新行中获取 x
的每个元素,首先是 [a, 1, 2, 3, 4, 5]
,然后是 [b, 6, 7, 8, 9, 10]
,依此类推。这是因为当你像这样迭代时 for i in x
,i
取 x
(列表)的值,而不是它的索引。
您有两种方法可以消除每个列表的第一项。
遍历每个列表并删除它的第一个元素。因此,对于
x
中的每个列表元素i
,您删除i[0]
for i in x: del i[0]
使用
中所有元素的索引range(len(x))
遍历列表的索引。range(len(x))
是从0
到len(x)-1
的值列表,因此i
现在将对应于x
.for i in range(len(x)): del x[i][0]
这将为您提供所需的结果。