Python 仅从嵌套列表的列表中删除元素
Python Remove element from just a list from nested lists
我有Python列表列表,比如
colours = [['1', '2', '3'], ['1', '2', '3'], ['1', '2', '3']]
三个列表的开头都是一样的。我想从第一个列表中删除第一个,这样我就有了
colours = [['2', '3'], ['1', '2', '3'], ['1', '2', '3']]
但无论我尝试什么,都会从每个列表中删除 1。
我试过 colours[0].remove('1')
但结果是
colour = [['2', '3'], ['2', '3'], ['2', '3']]
我该怎么做?
我将颜色定义为:
list = ['1', '2', '3']
for i in range(3):
colours.append(list)
你必须运行它在某个地方循环删除元素。
颜色[0].remove('1') 很好。
c = [['1', '2', '3'], ['1', '2', '3'], ['1', '2', '3']]
c[0].删除('1')
打印(c)
[['2', '3'], ['1', '2', '3'], ['1', '2', '3']] --output
这对我来说听起来很难运行,我运行一个快速测试:
colours = [['1', '2', '3'], ['1', '2', '3'], ['1', '2', '3']]
colours[0].remove('1')
print(colours) #[['2', '3'], ['1', '2', '3'], ['1', '2', '3']]
如果问题仍然存在,请使用更多信息更新您的问题
根据您在评论中的代码:
colours = []
list = ['1','2','3']
for i in range(3):
colours.append(list)
这是将同一个列表添加了 3 次。因此,当您使用:
colours[0].remove('1')
您基本上是从原始列表中删除 1
。因此它也适用于各种颜色。这是因为所有颜色的列表都指向内存中的相同位置。
我的建议是,首先不要使用变量名 list
,因为它遮盖了内置 list
。其次构建您想要的列表,每次迭代使用不同的列表:
colours = []
for i in range(3):
colours.append(['1','2','3'])
或者使用理解:
colours = [['1','2','3'] for i in range(3)]
我有Python列表列表,比如
colours = [['1', '2', '3'], ['1', '2', '3'], ['1', '2', '3']]
三个列表的开头都是一样的。我想从第一个列表中删除第一个,这样我就有了
colours = [['2', '3'], ['1', '2', '3'], ['1', '2', '3']]
但无论我尝试什么,都会从每个列表中删除 1。
我试过 colours[0].remove('1')
但结果是
colour = [['2', '3'], ['2', '3'], ['2', '3']]
我该怎么做?
我将颜色定义为:
list = ['1', '2', '3']
for i in range(3):
colours.append(list)
你必须运行它在某个地方循环删除元素。
颜色[0].remove('1') 很好。
c = [['1', '2', '3'], ['1', '2', '3'], ['1', '2', '3']] c[0].删除('1') 打印(c) [['2', '3'], ['1', '2', '3'], ['1', '2', '3']] --output
这对我来说听起来很难运行,我运行一个快速测试:
colours = [['1', '2', '3'], ['1', '2', '3'], ['1', '2', '3']]
colours[0].remove('1')
print(colours) #[['2', '3'], ['1', '2', '3'], ['1', '2', '3']]
如果问题仍然存在,请使用更多信息更新您的问题
根据您在评论中的代码:
colours = []
list = ['1','2','3']
for i in range(3):
colours.append(list)
这是将同一个列表添加了 3 次。因此,当您使用:
colours[0].remove('1')
您基本上是从原始列表中删除 1
。因此它也适用于各种颜色。这是因为所有颜色的列表都指向内存中的相同位置。
我的建议是,首先不要使用变量名 list
,因为它遮盖了内置 list
。其次构建您想要的列表,每次迭代使用不同的列表:
colours = []
for i in range(3):
colours.append(['1','2','3'])
或者使用理解:
colours = [['1','2','3'] for i in range(3)]