Python 输出多行时如何原地刷新

Python08

Python 输出多行时如何原地刷新,第1张

使用sys.stdout.write方法输出内容,内容以'\r'结尾即可,打印进度示例代码如下:

import sys, time

for i in range(1, 101):

    sys.stdout.write('[' + str(i) + '%]' + '>' * i + '\r')  #打印内容到控制台,\r表示回到输出内容的最左边

    time.sleep(0.01)

sorted返回的是一个列表,而reversed返回的是一个迭代器,列表和迭代器当然不相等。

sorted([1, 2, 3], reverse=True) == list(reversed([1, 2, 3]))

这样写的结果才是True

举一个例子,如下的列表a调用了sort()之后并没有返回值,而是直接对a内部进行了排序,再次输出a时已经是排好序的了。这种称之为原地修改,即in-place modifcation.