为什么 Print() 与 Python 中的反向组合会产生 None?
Why does Print() in combination with reverse in Python produce None?
我想我刚刚遇到一个有趣的案例。
我试图反转我的列表,然后使用 print()
函数打印输出。
以下是我试过的两种方法:
1.直接打印:
x = [2.0, 9.1,12.5]
print(x.reverse())
输出:None
2。使用 f 字符串:
x = [2.0, 9.1,12.5]
print(f"The reverse of x is {x.reverse()}")
输出:The reverse of x is None
如上所示,两种方法的输出都是 None
。
谁能解释为什么这两种方法都会产生 None
?
P.S。我知道此方法有效并打印受人尊敬的列表
x.reverse()
print(x)
但我对此不感兴趣?我想找出为什么上述两种方法都会产生 None
.
你可以这样反转打印:
print(x[::-1])
你试过这个吗:
x = [2.0, 9.1,12.5]
x.reverse()
print(x)
理论上应该可以。如果不是,请不要喷我。我对堆栈溢出还很陌生,所以我不太确定如何 post 回答和排序。
x.reverse()
是所谓的 in-place 操作,这意味着存储在变量 x
中的列表被修改(反转)并且 x.reverse()
的输出是 None
。因此,当您 运行 print(x.reverse())
时,它会打印输出,在本例中为 None
.
P.S.
如果您需要 return 原始列表的反向副本的操作,您可以使用 reversed()
更多信息 here:
x = [2.0, 9.1, 12.5]
print(list(reversed(x)))
(注:list
用于将reversed
的迭代器结果转为列表)
第二个选项是通过 slicing 创建反向副本(感谢@Andrey):
x = [2.0, 9.1, 12.5]
print(x[::-1])
更多上下文:
一般来说,in-place操作returnNone
,有助于防止错误和区分in-place和正常操作。
您可以使用以下代码反转列表并打印它!
# create a list
mylist = [2.0, 9.1,12.5]
x.reverse() # Reverse the list
print(mylist) # Print the list
# Output: [12.5, 9.1, 2.0]
我想我刚刚遇到一个有趣的案例。
我试图反转我的列表,然后使用 print()
函数打印输出。
以下是我试过的两种方法:
1.直接打印:
x = [2.0, 9.1,12.5]
print(x.reverse())
输出:None
2。使用 f 字符串:
x = [2.0, 9.1,12.5]
print(f"The reverse of x is {x.reverse()}")
输出:The reverse of x is None
如上所示,两种方法的输出都是 None
。
谁能解释为什么这两种方法都会产生 None
?
P.S。我知道此方法有效并打印受人尊敬的列表
x.reverse()
print(x)
但我对此不感兴趣?我想找出为什么上述两种方法都会产生 None
.
你可以这样反转打印:
print(x[::-1])
你试过这个吗:
x = [2.0, 9.1,12.5]
x.reverse()
print(x)
理论上应该可以。如果不是,请不要喷我。我对堆栈溢出还很陌生,所以我不太确定如何 post 回答和排序。
x.reverse()
是所谓的 in-place 操作,这意味着存储在变量 x
中的列表被修改(反转)并且 x.reverse()
的输出是 None
。因此,当您 运行 print(x.reverse())
时,它会打印输出,在本例中为 None
.
P.S.
如果您需要 return 原始列表的反向副本的操作,您可以使用 reversed()
更多信息 here:
x = [2.0, 9.1, 12.5]
print(list(reversed(x)))
(注:list
用于将reversed
的迭代器结果转为列表)
第二个选项是通过 slicing 创建反向副本(感谢@Andrey):
x = [2.0, 9.1, 12.5]
print(x[::-1])
更多上下文:
一般来说,in-place操作returnNone
,有助于防止错误和区分in-place和正常操作。
您可以使用以下代码反转列表并打印它!
# create a list
mylist = [2.0, 9.1,12.5]
x.reverse() # Reverse the list
print(mylist) # Print the list
# Output: [12.5, 9.1, 2.0]