【问题标题】:Getting "None" instead of list of values in python [duplicate]在python中获取“无”而不是值列表[重复]
【发布时间】:2019-05-27 11:01:15
【问题描述】:

我目前正在阿里云上做 POC,没有授权分享信息。我是python的初学者。让我考虑一个例子来解决我的问题。

我得到的是none,而不是值列表,

示例代码:

NumSet={1,2,3,4,5,6,7,8,9,10}
NumList = list(NumSet).reverse()
print(NumList)

输出:

None

我错过了什么?

【问题讨论】:

  • .reverse() 方法不返回任何内容,它直接更改列表。
  • 最pythonic的反转列表的方法是NumList[::-1]。您不需要任何reverse 或其他例程

标签: python python-3.x


【解决方案1】:

list.reverse() 不会返回反转的列表。它所做的是就地反转列表。改成这个就不行了

NumSet = {1,2,3,4,5,6,7,8,9,10}
NumList = list(NumSet)
NumList.reverse()
print(NumList)

【讨论】:

    【解决方案2】:

    list.reverse() 反转列表 就地 并且不返回任何内容(或返回 None)。

    NumList = list(NumSet)  # convert to list first
    NumList.reverse()  # reverse in-place
    

    这是正确的做法。

    【讨论】:

    • 还需要注意的是,如果需要原地反转,可以遍历reversed(list(NumSet))
    • @AKX 代码中的set() 有什么作用?
    • Derp,我将设置到列表的转换误读为相反的方式。固定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 2017-03-15
    • 2018-09-07
    • 1970-01-01
    相关资源
    最近更新 更多