簡體   English   中英

替換Python列表中項目的選定部分

[英]Replacing selected parts of an item in Python list

我有一個清單如下

lst = ['.ab.cd.ef.gh.', '.ij.kl.mn.op.']

在每個項目中,我想用*替換item[0]並用$替換item[-1]

我嘗試使用:

[item.eplace(item[0], '*') for item in lst]

但結果就是全部. 不論位置如何,都將替換為*

感謝您的幫助!

這將起作用:

>>> lst = ['.ab.cd.ef.gh.', '.ij.kl.mn.op.']
>>> ['*' + item[1:-1] + '$' for item in lst]
['*ab.cd.ef.gh$', '*ij.kl.mn.op$']
>>>

item[1:-1]使用Explain Python的slice表示法 ,將獲得item除第一個和最后一個字符以外的所有字符:

>>> 'abcde'[1:-1]
'bcd'
>>> '*' + 'abcde'[1:-1] + '$'  # Add the characters we want on each end
'*bcd$'
>>>

使用此代碼:

lst = ['.ab.cd.ef.gh.', '.ij.kl.mn.op.']
for k in range(0, len(lst)):
    item = lst[k]
    lst[k] = '*'+item[1:-1]+'$'

print lst

這使用for循環和range()遍歷每個項目,並將lst[k]分配給item 然后,它使用item[1:-1]獲取不包括首字符和尾字符的字符串。 然后,我們使用字符串串聯在開頭添加一個星號,並在結尾添加一個美元符號。 運行方式為:

>>> lst = ['.ab.cd.ef.gh.', '.ij.kl.mn.op.']
>>> for k in range(0, len(lst)):
...     item = lst[k]
...     lst[k] = '*'+item[1:-1]+'$'
... 
>>> print lst
['*ab.cd.ef.gh$', '*ij.kl.mn.op$']
>>> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM