P M*_*ran 15 python list slice del
在Python中,如何从列表列表中删除"列"?
鉴于:
L = [
["a","b","C","d"],
[ 1, 2, 3, 4 ],
["w","x","y","z"]
]
Run Code Online (Sandbox Code Playgroud)
我想删除"列"2以获取:
L = [
["a","b","d"],
[ 1, 2, 4 ],
["w","x","z"]
]
Run Code Online (Sandbox Code Playgroud)
是否有切片或del方法可以做到这一点?就像是:
del L[:][2]
Run Code Online (Sandbox Code Playgroud)
Die*_*Epp 11
你可以循环.
for x in L:
del x[2]
Run Code Online (Sandbox Code Playgroud)
如果您正在处理大量数据,则可以使用支持复杂切片的库.但是,一个简单的列表列表不会切片.
只需遍历该列表并删除要删除的索引.
例如
for sublist in list:
del sublist[index]
Run Code Online (Sandbox Code Playgroud)
您可以通过列表理解来做到这一点:
>>> removed = [ l.pop(2) for l in L ]
>>> print L
[['a', 'b', 'd'], [1, 2, 4], ['w', 'x', 'z']]
>>> print removed
['d', 4, 'z']
Run Code Online (Sandbox Code Playgroud)
它循环列表并弹出位置 2 中的每个元素。
您已经删除了元素列表,并且主列表没有这些元素。