在字符串上迭代时,python在末尾返回None

2024-10-02 02:41:16 发布

您现在位置:Python中文网/ 问答频道 /正文

让我们考虑一个字符串:

s = 'abcdefghijl'

以及一个函数,该函数将字符串按一定宽度进行切片:

def wrap(string,max_width):
    for i in range(0,len(string),max_width):
        print(string[i:i+max_width])

wrap(s,3)

将在上一次迭代中打印None,因为切片字符串时我将超出范围。有没有一种方法可以解决这个问题,而不必创建如下列表:

def wrap(string, max_width):
    return "\n".join([string[i:i+max_width] for i in range(0, len(string), max_width)])

Tags: 函数字符串inforstringlen宽度def
1条回答
网友
1楼 · 发布于 2024-10-02 02:41:16

我在Python 3.6中测试了您的函数:

def wrap(string, max_width):
    return "\n".join([string[i:i+max_width] for i in range(0, len(string), max_width)])

而且效果很好。现在,要获得所需的打印版本,必须按如下方式调用函数:

print(wrap(s,3))

这将使您获得您链接的网站中列出的预期结果

相关问题 更多 >

    热门问题