Python中是否有与C的strnset()等价的函数?
如何在Python中执行此操作Python中是否有与C的strnset()等价的函数?,python,c,Python,C,如何在Python中执行此操作 strnset(string,symbol,n); 输出应为: Enter String : ABCDEFGHIJ Enter Symbol for replacement : + How many string characters to be replaced : 4 Before strnset() : ABCDEFGHIJ After strnset() : ++++EFGHIJ 您将要使用: mystring[n://code>获取字符串中第n个字
strnset(string,symbol,n);
输出应为:
Enter String : ABCDEFGHIJ
Enter Symbol for replacement : +
How many string characters to be replaced : 4
Before strnset() : ABCDEFGHIJ
After strnset() : ++++EFGHIJ
您将要使用:
mystring[n://code>获取字符串中第n个字符之后的每个字符。然后你可以简单地把它和符号连接起来
注意,如果您不希望返回的字符串的字符数超过实际传递的字符串的字符数(例如,strnset('hi','+',4)='+++')
,请将其添加到return
语句之前:
n = min(len(mystring), n)
现在,运行时:
>>> print strnset("HAI", "+", 4)
+++
您将要使用:
mystring[n://code>获取字符串中第n个字符之后的每个字符。然后你可以简单地把它和符号连接起来
注意,如果您不希望返回的字符串的字符数超过实际传递的字符串的字符数(例如,strnset('hi','+',4)='+++')
,请将其添加到return
语句之前:
n = min(len(mystring), n)
现在,运行时:
>>> print strnset("HAI", "+", 4)
+++
下面是一个带有生成器表达式的表达式:
chars = "ABCDEJGHIJ"
r = "+"
n = 4
masked_result = "".join(r if idx <= n else c for idx, c in enumerate(chars, 1))
chars=“ABCDEJGHIJ”
r=“+”
n=4
蒙版_result=“”.join(如果idx>>'+++++EJGHIJ'
注意:这支持小于n
的掩蔽值。下面是一个带有生成器表达式的掩蔽值:
chars = "ABCDEJGHIJ"
r = "+"
n = 4
masked_result = "".join(r if idx <= n else c for idx, c in enumerate(chars, 1))
chars=“ABCDEJGHIJ”
r=“+”
n=4
蒙版_result=“”.join(如果idx>>'+++++EJGHIJ'
注意:这支持小于n
的掩蔽值,技术上你不能,因为Python中的字符串是不可变的。说真的吗?即使在收到你的响应之后你也会问这个问题?技术上你不能,因为Python中的字符串是不可变的。说真的吗?即使在收到响应之后你也会问这个问题r?回答得好!我只需要做n=min(len(string),n)
以确保您不会返回比原来更大的内容。@H.d.谢谢,添加。回答得好!我只需要做n=min(len(string),n)
以确保您不会返回比原来更大的内容。@H.d.谢谢,添加。