Python: 用单个数字替换嵌套列表

Python: replace nested list with single digit

初学者的问题。

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

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

我想用一个数字替换嵌套列表 ['No'、'se'、'admiten'],即我想获得以下结果,

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

其中 i 是任意数字。

由于实际的原始列表比我上面给出的列表更长并且包含更多不同的嵌套列表,我想将 ['No'、'se'、'admiten'] 替换为"text recognising" 命令。像,

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

这样我就可以用一个数字替换由任意数量的字符串元素组成的任何嵌套列表。

我猜你想这样做:

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

i = original_list[2]

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

作为列表的列表元素可以像处理非列表的列表元素一样处理,使用 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]

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

replace_value=['No', 'se', 'admiten']

for i,j in enumerate(original_list):

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

打印original_list