图片发自简书 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 相同
方法:
二, 元组
元组与列表非常相似, 不同的是元组是不可变的, 即元组一旦创建, 其中元素不可更改元组的访问和处理速度比列表快 如果需要定义的序列内容不会被修改那么最好使用元组, 另外使用元组使代码更加安全 特点
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
注意: 与元组封装不同的是, 拆封操着不仅可以应用于元组还可以应用于列表
方法:
三. 字典(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 #修改元素值
方法:
四, 集合(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'}
方法:
总结:
来源: http://www.jianshu.com/p/6d779849254c