[英]Replacing characters of string in a list
我通過與l1和l2比較來替換l3中的字符和/或字符串。 我正在獲得什么輸出以及我希望得到什么輸出如下所示。
我的代碼
l1 = ["Jai","Sharath","Ravi","Aditya"]
l2 = ["Singh","Kumar","Sharma","Rao"]
l3 = ["J.Singh","Sharath_K","R-Sharma","Rao_Aditya"]
for x,y,z in zip(l1,l2,l3):
if x in z:
z.replace(x,"Firstname")
elif x[0] in z:
z.replace(x[0],"First/Character/of/first/name")
elif y in z:
z.replace(y,"lastname")
else:
z.replace(y[0],"First/Character/of/last/name")
我的輸出
'First/Character/of/first/name.Singh'
'Firstname_K'
'First/Character/of/first/name/Sharma'
'Rao_Firstname'
我的預期輸出
'First/Character/of/first/name.lastname'
'Firstname_First/Character/of/last/name'
'First/Character/of/first/name/lastname'
'lastname_Firstname'
如何獲得所需的輸出?
字符串是不可變的。 replace
在原位不起作用,它返回一個新字符串。 您需要將該新字符串重新分配給原始名稱。
if x in z:
z = z.replace(x,"Firstname")
(另外,請使用多個空格縮進。)
考慮使用elif
。 如果您的第一個條件觸發了替換名字,那么最后一個條件會觸發替換姓嗎? 您可能要嘗試兩個if
else
結構。
考慮以下:
z = 'abc'
if z[0] == 'a':
z = z.replace('a', '1')
elif z[1] == 'b':
z = z.replace('b', '2')
if z[2] == 'c':
z = z.replace('c', '3')
z在此塊末尾將是什么? 刪除z =
改變嗎? 如何改變條件句( if
elif
else
)改變輸出?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.