python中创建一个空列表使用什么函数_干货!分享10个常见的内置函数

如果你一直在编写Python代码,那么这些内置程序对你来说可能已经很熟悉了。

print

你已经知道了print函数。实现hello world需要用到print。

你可能不了解print所接受的各种关键字参数:

759aa03293a72395364f755aa5a9817c.png

你可以自己查看print函数。

len

在Python中,我们不写像my_list.length()或my_string.length()这样的函数; 相反,我们会奇怪地(至少对于新的python开发者来说)使用len(my_list)和len(my_string)。

df45f68d0c9ded500c4e5c1d800d1a1d.png

无论你是否喜欢这个类似于操作符的len函数,你都必须使用它,所以你需要习惯它。

str

与许多其他编程语言不同,你不能在Python中连接字符串和数字。

79dc5f7630836c20535bdc794376c8ba.png

Python拒绝将3个整数强制作为一个字符串,所以我们需要自己手动执行,使用内置的str函数(技术上来说是类,但正如我所说的,我将所有这些都称为函数)

37e40004861104c5a52c4cde1728171f.png

int

你是否有用户输入并需要将其转换为数字?那你就需要int函数!

int函数可以将字符串转换为整数:

83fd5231936c211a28defcb5196a2db9.png

你还可以使用int将浮点数截断为整数:

6f608a25b2b90c270cfa91c417973a37.png

注意,如果你在进行除法运算时需要截断,//操作符可能更合适(尽管它对负数的运行情况会不同):int(3 / 2) == 3 // 2。

float

你要转换为数字的字符串实际上不是一个整数吗?那么你将使用float而不是int来进行转换。

b204749f4d4aad3c98f3ce100699efaa.png

你还可以使用float将整数转换为浮点数。

在python2中,我们常常使用float将整数转换为浮点数来强制进行浮点除法而不是整数除法。“整数除法”在Python 3中已经不存在了(除非你专门使用//运算符),因此我们不再需要float来实现这个目的。如果你一旦在Python3代码中看到float(x) / y,你就可以把它改成x / y。

list

想要创建一个其他一些可迭代对象的列表吗?

list函数就是做这些的:

a9dbf9cc2cdcab99974b1638718ca720.png

如果你知道你在处理一个列表,你可以使用copy方法来创建一个该列表的新副本:

3f1fb737e7b68d17f239dde0d5bbbe10.png

但是如果你不知道你正在处理的可迭代对象是什么,list函数是循环一个可迭代对象并复制它的更通用的方法:

04818e9b7d6e04f3a72c92e56a5445e1.png

你也可以使用一个列表推导式,但我不推荐这样做。

注意,当你想要创建一个空列表时,建议使用列表字面量语法(那些[]括号):

55611b03a763bd9f0dddf593145b6536.png

使用[]被认为更符合习惯,因为那些方括号([])实际上看起来像一个Python列表。

tuple

tuple函数与list函数非常相似,只是它会创建元组:

dfd02b34f88f7795038398de2173b7d7.png

如果你需要一个元组而不是列表,比如是因为你正在尝试创建一个可在字典的键中使用的可哈希集合,那你可能会想要使用tuple而不是list。

dict

dict函数用于创建一个新字典。

与list和tuple类似,dict函数等价于在一个具有键值对的迭代器上进行循环,并从中生成一个字典。

给定一个两项元组的列表:

a2c2573f25eab11a54f830832221bc76.png

这个:

05f1bae8fb9b4f29e02703b083d815f3.png

可以用dict函数代替来生成:

c44079cdecde630821c6c86d0d5165aa.png

dict函数接受两种类型的参数:

1.另一个字典(通用术语是映射),在这种情况下,该字典将被复制

2.一个由键值元组组成的列表(更准确地说,是由两项迭代器组成的一个迭代器),在这种情况下,将从这些元素构造一个新字典

所以这也是可行的:

a739afcb7c0c26b9330a8539f0735509.png

dict函数还可以接受关键字参数来创建一个带有基于字符串键的字典:

8a120fea25626d2bf7ee08c1c55f4d4a.png

但我更喜欢用字典字面量来代替:

773b6b19714476cf871c0dd689ad47f9.png

字典字面量语法更灵活,速度更快,但最重要的是,我发现它更清楚地传达了我们正在创建一个字典的事实。

就像list和tuple一样,一个空字典也应该使用字面量语法来创建:

74c73510ae2830874be0947d10fc4794.png

使用{}稍微提高了CPU效率,但更重要的是,它更符合人们的习惯: 使用大括号({})创建字典是很常见的,但是dict出现的频率要低得多。

set

set函数生会成一个新的集合,它接受一个带有可哈希值的迭代器(字符串、数字或其他不可变类型),并返回一个set:

53d10d4fab9a5c717f42c274d3fbde60.png

使用{}集合字面量语法(纯 {} 会创建一个字典)无法生成空集合,因此set函数是生成空集的唯一方法:

b86e1f46028099ddeb015826f5afd237.png

事实上,这是一个谎言,因为我们有这个:

1d257cc04b965ccee20df7ec66810694.png

但是这种语法令人困惑(它依赖于*操作符的一个不太常用的特性),所以我不推荐使用它。

range

range函数给我们返回一个range对象,它表示一个数字范围:

52833751482fd554b9d1119a07a57ab8.png

得到的数字范围包括开始数字,但不包括停止数字(range(0,10)不包括10)。

当你想对一些数字进行循环时,range函数很有用。

f19e14e2cb0a5f236b3d9f3e5d023351.png

一个常见的用例是执行一个操作n次(顺便说一下,这是一个列表推导式):

7b19e5b298ff8e892fa959c7db94cdc8.png

Python 2的range函数会返回一个列表,这意味着上面的表达式将生成非常非常大的列表。python3的range运行方式与python2的xrange类似(尽管它们有一点不同),因为当我们在这些range对象上循环时,数字是延迟计算的。

(文章内容整理自网络,侵删!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值