[英]What python built-in function can apply some function to every element of list in-place?
[英]Why do some methods of built-in types operate in-place and some don't?
dog = 'penny'
print(dog.title())
dog_names = ['pete', 'luke', 'shane']
print(dog_names.remove('shane'))
为什么 Python 为dog.title()
返回Penny
的输出,而为dog_names.remove('shane')
返回None
? 为什么我不能使用方法remove
打印列表dog_name
而我可以在dog
上使用方法title
?
我知道我得到None
因为dog_name.remove
没有回报,但是dog.title
如何有回报?
title()
函数是 Python 中的一个预定义函数,用于将字符串的第一个字符转换为大写,将其余字符转换为小写,并返回一个新字符串。 在你的例子中,如果你运行print(dog)
你可以看到penny
都是小写的,但是如果你运行print(dog.title())
你可以看到Penny
中的第一个字母P
是大写的,其余的都是小写的
为了回答您的问题,首先,您需要了解返回的内容。
在函数或方法上调用print
时,它将显示返回值。 话虽如此,您可以从文档中检查两个函数的返回值
https://docs.python.org/2/tutorial/datastructures.html#more-on-lists
list.remove(x) 从列表中删除值为 x 的第一项。 如果没有这样的项目,这是一个错误。
https://docs.python.org/3.7/library/stdtypes.html#str.title
str.title()返回字符串的标题版本,其中单词以大写字符开头,其余字符为小写。
title()
如何返回带标题的 case 字符串,这就是它被打印的原因。remove()
不返回任何内容,在这种情况下,python 的默认返回值为None
( Source ) 这就是为什么在调用remove()
时会打印它任何编程语言中的function
/ method
执行特定任务。 可以对传递给函数的输入执行任务。 执行任务后,函数可能希望将结果返回给函数的调用者。 它可以通过以下方式做到这一点:
remove()
方法)title()
方法)您的remove()方法不会将任何内容返回给调用者。 相反,它只是从列表中删除一个元素。 要在删除元素后打印列表:
dog_names.remove('shane')
print(dog_names)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.