【问题标题】:'NoneType' object has no attribute 'strip'" on my list modifier function in Python 3 [closed]'NoneType'对象在Python 3中的列表修饰函数上没有属性'strip'” [关闭]
【发布时间】:2018-07-11 07:44:41
【问题描述】:

我是 Python 新手。我正在尝试定义一个函数,该函数接受一个字符串列表并将 html 标签添加到其元素中。 例如,它修改:

list_1 = ["hey", "hello", "Joe"]

html_list = ["<ul>","<li>hey</li>", "<li>hello</li>", "<li>Joe</li>",> "</ul>"]

它引发了以下异常: 'NoneType' 对象没有属性 'strip'

这是我的代码:

def html_list(input_list):
        for index in range(len(input_list)):
            input_list[index] = "<li>" + input_list[index] + "<li>"
        input_list.insert(0,"<ul>")
        input_list.append("<ul>")
        print(input_list)

list_1 = ["hey", "hello", "Joe"]
html_list(list_1)

【问题讨论】:

  • 这不是错误的来源。请发布minimal reproducible example 以及代码生成的准确、完整的错误消息,包括完整的堆栈跟踪。
  • 将列表传递给函数时是否使用了正确的变量名?
  • 对不起,这不是错误。它正在引发异常消息
  • 你的函数没有返回任何东西,所以你的函数返回None

标签: python list function strip nonetype


【解决方案1】:

我没有收到您的错误,但它可能源于您创建的与函数 html_list 同名的变量,也许?

我在 python2 和 python3 中测试了 this 代码,它似乎可以工作。我修改了代码,以便您的函数返回input_list。它在调用函数的地方打印输出。

list_1 = ["hey", "hello", "joe"]

def html_list(input_list):
    new_list = ["<ul>"]
    for item in input_list:
        new_list.append("<li>{}</li>".format(item))
    new_list.append("</ul>")
    return new_list

print(html_list(list_1))

返回

['<ul>', '<li>hey</li>', '<li>hello</li>', '<li>joe</li>', '</ul>']

【讨论】:

  • 您好,感谢您的回答。我尝试了您的代码并收到以下消息“您的代码引发了异常,“'list' 对象没有属性 'strip'”
  • 你运行的是什么版本的 Python?另外,您是否尝试将上述代码复制并粘贴到一个新文件中,然后使用python whateveryoucalledthefile.py 运行它?
  • 我在 Udacity 网站上运行代码,在那里我收到了异常消息。它在其他地方工作正常。只是想知道为什么我会在那里收到异常消息。
  • 有趣。 Udacity 网站的 python 解释器可能存在错误或某种问题。如果我是你,我会联系他们的支持并向他们解释发生了什么,以便他们解决问题。
  • 谢谢!我会这样做的
猜你喜欢
  • 2015-02-02
  • 2017-05-03
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多