700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python 的内置数据类型:列表 list 元组 tuple 字典 dict 集合 set.

Python 的内置数据类型:列表 list 元组 tuple 字典 dict 集合 set.

时间:2021-09-20 16:45:19

相关推荐

Python 的内置数据类型:列表 list 元组 tuple 字典 dict 集合 set.

Python数据类型:list
list 是一种有序集合,由于Python是动态语言,所以 list 中包含的元素并不要求都必须是同一种数据类型,我们完全可以在 list 中包含各种数据。访问列表中最后一个元素:L[-1],索引值为-1。同理倒数第二个元素索引值为 -2,以此类推。list 中添加元素,第一个办法是用 list 的append()方法,把新同学追加到 list 的末尾。另一种方法是用list的insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素。list 中删除元素pop()方法总是删掉 list 的最后一个元素,并且它还返回这个元素。可以通过在pop()函数中添加索引,弹出指定位置元素,如pop(2)删除位置2的元素。
Python数据类型:tuple
tuple 是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple 一旦创建完毕,就不能修改了。创建 tuple 和创建list唯一不同之处是用( )替代了[ ]。tuple 没有append()方法,也没有insert()pop()方法,也无法通过重新赋值更改元素的值。

t=(1,2,3,4,5)

因为用()定义单元素的 tuple 有歧义,容易和运算符号()混淆。所以 Python 规定,单元素 tuple 要多加一个逗号",",这样就避免了歧义。Python在打印单元素 tuple 时,也自动添加了一个",",为了更明确地告诉你这是一个 tuple。

t = (1,)

tuple 所谓的“不变”是说,tuple 的每个元素,指向永远不变。即指向 ‘a’,就不能改成指向 ‘b’,指向一个 list,就不能改成指向其他对象,但指向的这个 list 本身是可变的!

t = (1, 2, ['a', 'b'])L = t[2]L[0] = 'x'L[1] = 'y' # t = (1, 2, ['x', 'y'])

Python 数据类型:dict
花括号{}表示这是一个 dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。len()函数可以计算任意集合的大小,由于 dict 也是集合,因此len()同样适用。判断 key 值是否存在,可以用in操作符,或者使用 dict 本身提供的一个get()方法,在 key 不存在的时候,返回None

if 'Pual' in d:print(d['Paul'])print(d.get('Paul')) # 返回 None, 或者d['Paul']

dict 的第一个特点是查找速度快,无论 dict 有10个元素还是10万个元素,查找速度都一样。而list 的查找速度随着元素增加而逐渐下降。

不过 dict 的查找速度快不是没有代价的,dict 的缺点是占用内存大,还会浪费很多内容,list 正好相反,占用内存小,但是查找速度慢。由于 dict 是按 key 查找,所以,在一个 dict 中,key 不能重复。dict 的第二个特点就是存储的 key-value 序对是没有顺序的!dict 的第三个特点是作为key 的元素必须不可变,Python 的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是 list 是可变的,就不能作为 key。

Python 数据类型:set
set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。创建 set 的方式是调用set()并传入一个 list,list的元素将作为set的元素:

s = set(['A', 'B', 'C'])

由于 set 存储的是无序集合,所以我们没法通过索引来访问。访问 set 中的某个元素实际上就是判断一个元素是否在 set 中。

print('A' in s) # True or Flase

set 的内部结构和 dict 很像,唯一区别是不存储 value,因此,判断一个元素是否在 set 中速度很快。set 存储的元素和 dict 的 key 类似,必须是不变对象,因此,任何可变对象是不能放入 set 中的。应用场景:存储星期、月份等。添加元素时,用 set 的add()方法。删除 set 中的元素时,用 set 的remove()方法,如果删除的元素不存在 set 中,remove()会报错。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。