2024-03-28 11:52:58 发布
网友
我有一个清单如下
lst = ['.ab.cd.ef.gh.', '.ij.kl.mn.op.']
在每个项目中,我想用*替换item[0],用$替换item[-1]。你知道吗
*
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$'] >>>
使用Explain Python's slice notation的item[1:-1]将获取item中除第一个和最后一个以外的所有字符:
item[1:-1]
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]来获得不包括第一个和最后一个字符的字符串。然后我们使用字符串连接在开头加一个星号,在结尾加一个美元符号。其运行方式如下:
for
range()
lst[k]
>>> 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$'] >>>
这将起作用:
使用Explain Python's slice notation的
item[1:-1]
将获取item
中除第一个和最后一个以外的所有字符:使用此代码:
它使用
for
循环和range()
在每个项目上循环,并将lst[k]
分配给item
。然后它使用item[1:-1]
来获得不包括第一个和最后一个字符的字符串。然后我们使用字符串连接在开头加一个星号,在结尾加一个美元符号。其运行方式如下:相关问题 更多 >
编程相关推荐