Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python 3中以字符串格式设置空格_Python_Variables_String Formatting_Python 3.5 - Fatal编程技术网

如何在Python 3中以字符串格式设置空格

如何在Python 3中以字符串格式设置空格,python,variables,string-formatting,python-3.5,Python,Variables,String Formatting,Python 3.5,如何设置字符串格式,以便使用变量确保长度可以根据需要更改?例如,假设长度最初为10,然后输入更改,然后长度变为15。如何获取要更新的格式字符串 length = 0 for i in self.rows: for j in i: if len(j) > length: length = len(j) print('% length s') 显然,上面的语法是错误的,但我不知道如何让它工作。

如何设置字符串格式,以便使用变量确保长度可以根据需要更改?例如,假设长度最初为10,然后输入更改,然后长度变为15。如何获取要更新的格式字符串

    length =  0
    for i in self.rows:
        for j in i:
            if len(j) > length:
                length  = len(j)
    print('% length s')

显然,上面的语法是错误的,但我不知道如何让它工作。

您可以这样声明:

 print('%20s'%'stuff')

20将是打印字符串中的字符数。多余的空白。

您可以使用
%*s
并将
长度作为另一个参数传入:

>>> length = 20
>>> string = "some string"
>>> print("%*s" % (length, string))
         some string
或使用格式字符串创建格式字符串:

>>> print(("%%%ds" % length) % string)
         some string

使用
str.format

>>> length = 20
>>> string = "some string"
>>> print('{1:>{0}}'.format(length, string))
         some string

format
方法允许将漂亮的关键字参数与位置参数结合使用:

>>> s = 'my string'
>>> length = 20
>>> '{:>{length}s}'.format(s, length=length)
'           my string'

长度改变了空白的大小,它不是打印出来的东西我只是打印出来的。我很确定我看到的是空白。OP试图得到一个不依赖于提前知道长度的格式字符串。他希望能够更改长度,但使用相同的格式字符串。tobias_k的答案应该给你一个想法。tobias_k的答案确实是一个更完整的例子(尽管解决方案是相同的,…我认为)。我应该删除我的帖子吗?你能修正你的缩进吗?您正在尝试在for循环中打印吗?请显示示例输入和预期输出。为什么不使用
print(s)
?它会打印任何
s
是什么。顺便说一句,你可以用
max(map(len,(j代表i行中的j代表i中的j))
还有一些方法可以用
str.format
实现这一点,但我现在记不起来或找不到它了……啊,我自己刚刚找到了!;-)