[英]Python 3.3 Reversed() function and Shell message meaning
我有以下代码块,我在shell中收到此消息...
“函数word_switch在0x102b67a70”
这是什么意思,为什么Python打印这个而不是返回函数?
谢谢
D= ['foo', 'bar', 'OMG']
def word_switch (D: list) -> list:
for i in D:
reversed(i)
return word_switch
print(word_switch(D))
您需要生成反转列表并返回它,而不是函数本身。 你可以这样做
D = ['foo', 'bar', 'OMG']
def word_switch (D: list) -> list:
return ["".join(reversed(i)) for i in D]
#return [i[::-1] for i in D] # Using slicing
print(word_switch(D))
产量
['oof', 'rab', 'GMO']
这是什么意思? 输出意味着函数word_switch
位于该存储器位置。
你为什么得到它? 因为你要求它。 请注意,在定义函数的方式中,当您调用它时,您将获得函数对象本身,然后打印它。
每次打印函数对象时都会发生相同的事情,例如:
>>> def f(x):
... x
>>> print f
<function f at 0xb72eda3c>
>>>
如果您想要的只是反转列表,您可以简单地使用列表对象的reverse
方法,如OP的注释中所建议的那样。 没有必要创建自己的功能。 如果出于某种原因,你需要自己的功能,那么你可以按照@thefourtheye在他的回答中建议的方式来编写它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.