4

ネストされたリスト内から何かを削除する方法がわかりません。

たとえば、次のリストから「x」を削除するにはどうすればよいですか?

lst = [['x',6,5,4],[4,5,6]]

を試しdel lst[0][0]ましたが、次の結果が得られました。

TypeError: 'str' オブジェクトはアイテムの削除をサポートしていません。

for ループも試しましたが、同じエラーが発生しました。

for char in lst:
    del char[0]
4

3 に答える 3

3

あなたのコードは正常に動作します。lstとして定義されていますか[['x',6,5,4],[4,5,6]]? もしそうなら、del lst[0][0]効果的に削除するから'x'です。

lstとして定義した可能性['x',6,5,4]があります。その場合、言及しているエラーが実際に発生します。

于 2011-03-13T21:36:16.203 に答える
3

pop(i)ネストされたリストで関数を使用します。例えば:

lst = [['x',6,5,4],[4,5,6]]
lst[0].pop(0)
print lst  #should print [[6, 5, 4], [4, 5, 6]]

終わり。

于 2011-03-13T21:38:09.457 に答える
0

「ポップ」も使えます。例えば、

list = [['x',6,5,4],[4,5,6]]
list[0].pop(0)

結果として

list = [[6,5,4],[4,5,6]]

詳細については、このスレッドを参照してください: How to remove an element from a list by index in Python?

于 2011-03-13T21:46:39.000 に答える