为了账号安全,请及时绑定邮箱和手机立即绑定

“Nonetype”对象没有“插入”属性,不明白为什么

“Nonetype”对象没有“插入”属性,不明白为什么

繁花不似锦 2022-06-22 18:52:44
我试图列出一个列表并仅反转中间元素,而不是第一个和最后一个。我一直遇到非类型错误,不明白为什么。def reverse_middle(nums):    a = nums[0]    b = nums[-1]    interior = nums    interior.pop()    interior.pop(0)    final = interior.reverse()    final.insert(0, a)    final.append(b)    return final
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

reverse 方法list反转列表,但不返回反转的列表,None而是:反转就地进行。


def reverse_middle(nums):

    a = nums[0]

    b = nums[-1]

    interior = nums

    interior.pop()

    interior.pop(0)

    interior.reverse()

    final = interior

    final.insert(0, a)

    final.append(b)

    return final

对于更简洁的代码,请使用:


def reverse_middle(nums):

    a = nums[0]

    b = nums[-1]

    interior = nums[1:-1]

    interior.reverse()

    final = [a] + interior + [b]

    return final

而且更简洁


def reverse_middle(nums):

    interior = nums[1:-1]

    interior.reverse()

    return [nums[0]] + interior + [nums[-1]]


查看完整回答
反对 回复 2022-06-22
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

interior.reverse()就地执行此操作(即内部反转)并且不返回任何内容final.

这就是为什么 final 是 None 的原因。None 对象没有调用方法insert


查看完整回答
反对 回复 2022-06-22
  • 2 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信