2024-06-09 00:30:47 发布
网友
我有一根绳子
name = "Ben"
把我变成一个名单
word = list(name)
我想用星号替换列表中的字符。我该怎么做?
我试过使用.replace函数,但这太具体了,不能同时更改所有字符。
.replace
我需要一个适用于任何字符串的通用解决方案。
可以通过以下方式用星号替换列表中的字符:
方法1
for i in range(len(word)): word[i]='*'
这个方法在IMO中更好,因为没有使用额外的资源,因为列表中的元素实际上被星号“替换”。
方法2
word = ['*'] * len(word)
或者
word = list('*' * len(word))
在此方法中,将创建一个相同长度的新列表(仅包含星号),并将其分配给“word”。
I want to replace the characters of the list with asterisks. How can I do this?
我将非常准确地回答这个问题。有时您可能不得不将它作为一个单独的步骤来执行,特别是在表达式内部使用它时
您可以利用str.translate方法并使用256大小的转换表将所有字符屏蔽为asterix
str.translate
>>> name = "Ben" >>> name.translate("*"*256) '***'
注意因为字符串是不可变的,它将在对原始字符串进行变异的内部创建一个新字符串。
I want to replace the characters of the list w/ asterisks
相反,创建一个只有星号的新字符串对象,如下所示
word = '*' * len(name)
在Python中,可以将一个字符串与一个数字相乘,从而得到连接的同一个字符串。例如
>>> '*' * 3 '***' >>> 'abc' * 3 'abcabcabc'
可以通过以下方式用星号替换列表中的字符:
方法1
这个方法在IMO中更好,因为没有使用额外的资源,因为列表中的元素实际上被星号“替换”。
方法2
或者
在此方法中,将创建一个相同长度的新列表(仅包含星号),并将其分配给“word”。
我将非常准确地回答这个问题。有时您可能不得不将它作为一个单独的步骤来执行,特别是在表达式内部使用它时
您可以利用
str.translate
方法并使用256大小的转换表将所有字符屏蔽为asterix注意因为字符串是不可变的,它将在对原始字符串进行变异的内部创建一个新字符串。
相反,创建一个只有星号的新字符串对象,如下所示
在Python中,可以将一个字符串与一个数字相乘,从而得到连接的同一个字符串。例如
相关问题 更多 >
编程相关推荐