phrase = "TEST PHRASE"
progress = []
for letter in phrase:
if letter != None:
progress.append("-")
else:
progress.append("")
print progress
所以我希望这能给我[“ - ”,“ - ”,“ - ”,“ - ”,“”,“ - ”,“ - ”,“ - ”,“ - ”,“ - ”] 所以我可以string.join他们得到---- ----- 基本上是隐藏的字符串。 但是[' - ',' - ',' - ',' - ',' - ',' - ',' - ',' - ',' - ',' - ',' - '] 是我得到的。没有空元素来标记空间。
答案 0 :(得分:1)
根据我的理解,这就是你想要的?
phrase = "TEST PHRASE"
progress = []
for letter in phrase:
if letter != " ":
progress.append("-")
else:
progress.append("")
print progress
print " ".join(progress) ## make sure you give a space between the quotes.
输出
['-', '-', '-', '-', '', '-', '-', '-', '-', '-', '-'] ## empty element in progress
- - - - - - - - - - ## empty element in join
答案 1 :(得分:1)
使用!= ' '
和append(" ")
phrase = "TEST PHRASE"
progress = []
for letter in phrase:
if letter != ' ':
progress.append("-")
else:
progress.append(" ")
print ''.join( progress )
#---- ------
答案 2 :(得分:0)
使用if letter != " ":
代替if letter != None
。
答案 3 :(得分:0)
将信件与None
进行比较并不是您想要的。空格字符不是None
。我会将它与空间进行比较。
if letter != ' ':
答案 4 :(得分:0)
如何改变你的状况。
phrase = "TEST PHRASE"
progress = []
for letter in phrase:
if letter == " ":
progress.append("")
else:
progress.append("-")
print(progress)
答案 5 :(得分:0)
虽然你从其他答案中得到了你想要的东西,但如果你需要的是掩盖除了"空格"之外的所有字符,你可以使用正则表达式获得更少的冗长,如下所示:
>>> import re
>>> re.sub(r'[^\s]', '-', "TEST PHRASE")
'---- ------'