2017-03-12 41 views
0

初學者的問題。Python:用單個數字替換嵌套列表

我有以下的有序列表與嵌套列表,

original_list=[['No', 'se', 'puede'], ['No', 'se', 'puede'], ['No', 'se', 'admiten']] 

我想換成嵌套列表[「否」,「本質」,「admiten」]由一個單一的數字,即我要獲得以下結果,

required_list=[['No', 'se', 'puede'], ['No', 'se', 'puede'], 'i'] 

其中我是任何數字。

因爲實際的原始列表比較長,並且包含比上面給出的更多不同的嵌套列表,所以我想用「文本識別」命令替換['否','se','承認']。類似的,

[if nested list contains 'No', 'se', 'admiten', replace by i] 

這樣我就可以用一個數字代替任意數量的字符串元素組成的任何嵌套列表。

+0

'original_list [-1] =「i''? – zvone

+0

您需要澄清*您想要做什麼以及*爲什麼*。我們需要上下文。 – skrx

+0

你說得對。我的錯。我編輯了這個問題。希望現在更清楚。 – LucSpan

回答

0

是列表可以像列表元素不是列表,並查找和替換列表元素來處理可以使用輕鬆完成列表元素list comprehension

original_list=[['No', 'se', 'puede'], ['No', 'se', 'puede'], ['No', 'se', 'admiten']] 
item_to_replace = ['No', 'se', 'admiten'] 

required_list = ['i' if x == item_to_replace else x for x in original_list] 
+0

謝謝你的幫助! – LucSpan

0

我猜你想這樣做:

original_list=[['No', 'se', 'puede'], ['No', 'se', 'puede'], ['No', 'se', 'admiten']] 

i = original_list[2] 

original_list=[['No', 'se', 'puede'], ['No', 'se', 'puede'], i] 
+0

@LucSpan檢查我的編輯版本。 –

+0

我的歉意Ramesh,這不完全是我想要的。儘管如此,謝謝你和我一起思考。我意識到我的問題的原始版本缺乏足夠的細節。我已經詳細闡述了我想要的東西。 – LucSpan

0

original_list = [[ '否', 'SE', 'puede'],[ '否', 'SE', 'puede'],[ '否', 'SE',「允許']]

replace_value = ['否','se','允許']

爲I,J在枚舉(original_list):

if replace_value == j: 
    original_list[i] = 2 

打印original_list

+0

謝謝你的幫助! – LucSpan