2017-04-25 165 views
-1

嗨,我是编程新手,我需要用python做一些文本处理,我需要做的是替换元组中的元素。我已经有一个元组列表,看起来像这样如何用其他东西替换元组中的元素?

my_list=[('the','b'),('apple','i'),('is','o'),('delicious','o')] 

,我想改变的第二个元素的元组,如果第二是“b”或“我”,我愿意把它转变成'是',如果元组中的第二个元素是'o',那么什么都不做。

我很想知道是否有一些很好,干净的方式来做到这一点在Python中。 非常感谢。

+2

我很困惑。如果第二个元素是“o”,它应该改为“是”,还是应该什么都不做? – Kevin

+0

您可以使用二维索引访问列表中的元组内容:mylist [1] [1] =='i'#为true。一旦你可以访问每个元素,你可以比较它。 –

回答

0

如果第二个是“O”或“我”,我想它变成“是”
如果在元组的第二个元素是“O”,然后什么也不做。

你在这里提到了两次“o”,所以我认为其中一个是“b”的拼写错误。我假设如果第二个元素是“o”,那么什么都不做,否则第二个元素应该变成“是”。

>>> my_list=[('the','b'),('apple','i'),('is','o'),('delicious','o')] 
>>> my_list = [(first, "yes" if second == "b" or second == "i" else second) for first, second in my_list] 
>>> my_list 
[('the', 'yes'), ('apple', 'yes'), ('is', 'o'), ('delicious', 'o')] 
+0

哦,对不起。我的意思是,如果第二个是'b'或'我',那么将它改为'是',否则什么都不做 –