2024-10-01 04:51:03 发布
网友
我在使用Python时遇到了一个小问题
print ",".join(array)
例如,使用array=['dog\r', 'monkey', 'pig']时,输出如下所示:
array=['dog\r', 'monkey', 'pig']
,monkey,pig
有什么想法吗?你知道吗
好了,伙计们,代码是这样的
a = raw_input(">>") uAlpha = a.split(",")
现在我知道如何删除/r,但如何防止它在第一时间到达那里?你知道吗
您的字符串中包含回车符。您正在指示终端将光标移回行的开头并从那里继续打印。你知道吗
您构建了字符串:
'dog\r,monkey,pig'
和正在打印,这导致首先打印dog,然后光标移回行的开头(返回“打印托架”),然后打印其余的内容,覆盖dog文本。你知道吗
dog
从输入或连接的字符串中删除回车符。您可以使用^{}或^{}删除所有回车符,或者使用^{}(和变体)删除仍在列表中的字符串开头和结尾的回车符。你知道吗
例如,如果您的输入来自raw_input(),您可以简单地使用^{}删除结尾的回车:
raw_input()
a = raw_input(">>").rstrip('\r') uAlpha = a.split(",")
返回字符导致它跳过第一部分,您可以通过使用repr来查看差异
repr
>>> print ",".join(array) ,monkey,pig >>> print repr(",".join(array)) 'dog\r,monkey,pig'
使用^{}和^{}删除返回字符
>>> array=['dog\r', 'monkey', 'pig'] >>> ",".join(map(str.strip,array))
输出为
'dog,monkey,pig'
请注意,使用map比理解剥离字符要好一些。timeit结果
map
timeit
$ python -m timeit "','.join(s.strip() for s in ['dog\r', 'monkey', 'pig'])" 1000000 loops, best of 3: 1.18 usec per loop $ python -m timeit "','.join(map(str.strip,['dog\r', 'monkey', 'pig']))" 1000000 loops, best of 3: 0.647 usec per loop
这里讨论了mapvs理解的用法。你知道吗
最流行的(也是公认的答案)结论是引用here:
map may be microscopically faster in some cases (when you're NOT making a lambda for the purpose, but using the same function in map and a listcomp).
\r是一个回车符,所以它完全是在做它应该做的事情。字符串实际上是dog\r,monkey,pig,但是当您打印它时,它看起来像,monkey,pig,这是由于\r的作用(将光标移到行的开头)。尝试从字符串中删除回车符(以及任何其他空格):
\r
dog\r,monkey,pig
>>> array=['dog\r', 'monkey', 'pig'] >>> ",".join(s.strip() for s in array) dog,monkey,pig
或者,如果您发布了您的代码,我们可能可以帮助您首先获得“\r”。你知道吗
您的字符串中包含回车符。您正在指示终端将光标移回行的开头并从那里继续打印。你知道吗
您构建了字符串:
和正在打印,这导致首先打印
dog
,然后光标移回行的开头(返回“打印托架”),然后打印其余的内容,覆盖dog
文本。你知道吗从输入或连接的字符串中删除回车符。您可以使用^{} 或^{} 删除所有回车符,或者使用^{} (和变体)删除仍在列表中的字符串开头和结尾的回车符。你知道吗
例如,如果您的输入来自} 删除结尾的回车:
raw_input()
,您可以简单地使用^{返回字符导致它跳过第一部分,您可以通过使用
repr
来查看差异使用^{} 和^{} 删除返回字符
输出为
请注意,使用
map
比理解剥离字符要好一些。timeit
结果这里讨论了
map
vs理解的用法。你知道吗最流行的(也是公认的答案)结论是引用here:
\r
是一个回车符,所以它完全是在做它应该做的事情。字符串实际上是dog\r,monkey,pig
,但是当您打印它时,它看起来像,monkey,pig
,这是由于\r
的作用(将光标移到行的开头)。尝试从字符串中删除回车符(以及任何其他空格):或者,如果您发布了您的代码,我们可能可以帮助您首先获得“\r”。你知道吗
相关问题 更多 >
编程相关推荐