我有一个如下所示的列表:
>>> lst = ['yaktub', 'naktub', 'taktub']
我知道如何遍历列表中的项目。但我想循环遍历列表中每个元素的字符并进行替换。我将在下面提供一个伪代码:
for item in lst:
for char in lst[item]:
if lst[item][0] in 'ynt':
lst[item][0] = char
elif lst[item][1] in 'a':
lst[item][1] = 'a'
elif lst[item][2] in 'k':
lst[item][2] = 'f'
newlst.append(item)
return newlest
等等。如果你能指导我如何使用indix赋值而不是切片,我将不胜感激。
答案 0 :(得分:0)
您应该使用translate
,例如:
lst = ['yaktub', 'naktub', 'taktub']
for word in lst:
print(word.translate(str.maketrans("yntak", "yntaf")))
哪个输出:
yaftub
naftub
taftub
请注意,第一个列表是您要替换的字符,第二个列表是您要在新字符串中显示的字符。
答案 1 :(得分:0)
在python中,字符串只是一个列表 'string'== ['s','t','r','i','n','g'] 然后
lst = ['yaktub', 'naktub', 'taktub']
newlst = []
for item in lst:
for char in item:
if char in 'ynt':
#your operation here
elif char in 'a':
#other code here
newlst.append(item)
return newest
我希望这可以帮到你
答案 2 :(得分:0)
因为我不确定请求是否是,但最好是尝试这个
def convert_word(word):
....your code here and add return statement
map(convert_word,list_to_convert)
你去吧!
请下次尝试更好地解释要求