python中字典是什么的集合_区别 Python 中的列表, 元组, 字典, 集合

区别 Python 中的列表, 元组, 字典, 集合

ab7653affab982b574eb7acc55df2e04.gif

图片发自简书 App

一, 列表(list)

1. 可以用 list()函数或者方括号 [] 创建, 元素之间以逗号分隔.list1=list([1,2])#用 list()函数创建

list2=[1,3,'hello',3.5]#用方括号 [] 创建

2. 列表的元素可以包含不同的类型

list3=[1,"hello",3.14]

3. 使用索引来访问元素 list[-3]表示列表倒数第三个元素 list[0]与 list[-0]意义一样

print(list1[1])

输出: 2

4. 可切片 列表切片使用语法 list[start:end]来返回列表 list 的一个片段 这个片段是原列表从 start 到 end-1 的元素所构成的一个新列表.

print(list2[1:3])

输出:[3, 'hello']

5. 还可通过如下方法来创建:list4=[0]*10#创建一个长度为 100 的列表, 且每个列表的元素被初始化为 0 6. 列表的拼接和复制:

list1=list([1,2])

list2=[1,3,'hello',3.5]

list5=list1+list2

则 list5 中内容为[1,2,1,3,'hello',3.5]

List6=list1*3 则 list6 中内容为[1,2,1,2,1,2]

注意: list1*3 与 3*list1 相同

方法:

ab7653affab982b574eb7acc55df2e04.gif

二, 元组

元组与列表非常相似, 不同的是元组是不可变的, 即元组一旦创建, 其中元素不可更改元组的访问和处理速度比列表快 如果需要定义的序列内容不会被修改那么最好使用元组, 另外使用元组使代码更加安全 特点

1. 可以用 tuple()函数或者圆括号 () 创建, 元素之间用逗号分隔.tuple1=()

tuple2=(1,2,3)

tuple3=(1,)#包含一个元素的元组语法上有些奇怪, 需要在元素值后面加上一个逗号创建

tuple4=tuple([1,2,3,4,5])#tuple()函数创建

2. 元组的元素不需要具有相同的类型

tuple5=(1,"helloworld",3.2)

3. 使用索引来访问元素

4. 可切片

5. 元素的值一旦创建就不可修改!!!!!(这是区别与列表的一个特征)

6. 元组的封装与序列拆封

1)封装

t=1,1,2,3,5 #将多个值自动封装到一个元组中 t 自动成为一个元组对象

2)序列拆封(封装的逆操作)tuple=(1,2,3)

x,y,z=tuple1#xyz 三个变量分别存储了整数 1,2,3

注意: 与元组封装不同的是, 拆封操着不仅可以应用于元组还可以应用于列表

方法:

9508a54653613c6d6d991aef6a84144a.png

三. 字典(Dictionary)

字典是另一种可变容器模型, 且可存储任意类型对象. 具有以下特点:

1. 元素由键 (key) 和值 (value) 组成 一一对应

2. 可以用 dict()函数或者花括号 {} 创建, 元素之间用逗号分隔, 键与值之间用冒号隔开dict1={

'name':'lin','age':21

}

dict2=dict([('lin','21'),('wang" ,'19')])

3. 键必须是唯一的, 但值则不必. 值可以取任何数据类型, 但键必须是不可变的, 如字符串, 数字或元组

4. 使用键 (key) 来访问元素print(dict1['name'])#访问元素

dict1[age]=11#修改元素值

方法:

ab7653affab982b574eb7acc55df2e04.gif

四, 集合(set) 具有以下特点:

1. 可以用 set()函数或者方括号 {} 创建, 元素之间用逗号分隔.Set1={

1,2,3,4,5

}#用 {

}创建

Set2=([1,2,3,4,5])#用 set()函数创建

2. 与字典相比少了键

3. 不可索引, 不可切片

4. 不可以有重复元素, 但可以有不同类型的元素

Set3={1,2,3.21,"hello"}

5. 和列表推导式一样 也支持推导式

Set4={x for x in 'abreacdabre'if x not in 'abc'}

方法:

7f27ed7d3d68f56a040afeb3ddaae7a5.png

总结:

45a883239710a139fb4bdb34dd125faa.png

来源: http://www.jianshu.com/p/6d779849254c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值