Python中list,tuple,dict,set基本定义和基本用法
2017-07-10 18:17
489 查看
定义
list: 链表, 有序的项目, 通过索引进行查找, 使用方括号”[]”;tuple:元组, 元组将多样的对象集合到一起, 不能修改, 通过索引进行查找, 使用括号”()”;
dict:字典, 字典是一组键(key)和值(value)的组合, 通过键(key)进行查找, 没有顺序, 使用大括号”{}”;
set:集合,无序, 元素只出现一次, 自动去重, 使用”set([])”;
list
创建直接赢[]括起来就创建了一个了list对象。list对象里面的数据类型没有要求。为空则为空list。
用range()生成:
L_1 = range(1,10) L_2 = range(1,10,2) print L_1 print L_2
ps: range()不包括最后一个元素
# -*- coding: utf-8 -*- L = [1 ,2 ,5 ,7 ,3 ,6 ] # 0 1 2 3 4 5 # -6 -5 -4 -3 -2 -1 print L[0:3] #从0到3的元素 print L[3:] #3之后的元素 print L[-1:] #-1之前的元素 print L[::2] #每隔2取一个元素 print L[::3] #每隔3取一个元素 print L[::-1] #倒着每隔1取一个元素,也就是倒置
如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释
# -*- coding: utf-8 -*-
目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为… 并选择UTF-8格式保存。
索引
索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1。
也可以用 -1 这个索引来表示最后一个元素,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示。
L = ['A','B','C','D']; print L[0] print L[1] print L[2] print L[3] print L[-1] print L[-2] print L[-3]
list.append(要添加的元素),在尾部追加。
list.sret(位置,要添加的元素),指定位置插入
L = ['A','B','C','D']; print L L.append('E'); print L L.insert(0,'W') print L
要删除指定位置的元素,用pop(i)方法,其中i是索引位置。如果为空,删除末尾。
L_1 = ['A','B','C','D']; print L_1 L_1.pop(1) print L_1 L_2 = ['A','B','C','D'] print L_2 L_2.pop() print L_2
替代则直接对要替代的元素赋值
L = [1,2,3,4] print L L[1] = 3 print L
这几种类型都能用len()求长度。
tuple
创建tuple和创建list唯一不同之处是用( )替代了[ ]。tuple创建后不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。
单元素tuple
T_1 = (1) print T_1 T_2 = (1,) print T_2
因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。
正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”
dict
dict是通过 key 来查找 value。花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。
D = { 'A':1, 'B':2, 'C':3 } print D['A'] print D['D']
通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。
D = { 'A':1, 'B':2, 'C':3 } print D.get('A') print D.get('D')
dict本身提供的一个 get 方法,在Key不存在的时候,返回None
使用for循环遍历:
D = { 'A':1, 'B':2, 'C':3 } for x in D: print x,D[x]
> for循环: for 变量 in 结构
dict的特点
1.查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样.dict的缺点是占用内存大,还会浪费很多内容
2.存储的key-value序对是没有顺序的
3.作为 key 的元素必须不可变
set
set 持有一系列元素,但是set的元素没有重复,而且是无序的set的特点
1.set的内部结构和dict很像,唯一区别是不存储value
2.set存储的元素和dict的key类似,必须是不变对象
3.set存储的元素也是没有顺序的
set的内部结构和dict很像,唯一区别是不存储value
S = set([1,2,3,4,5,6]) print S S.add(7) print S S.remove(4) print S
遍历使用for循环
应用场景
list, 简单的数据集合, 可以使用索引;tuple, 把一些数据当做一个整体去使用, 不能修改;
dict, 使用键值和值进行关联的数据;
set, 数据只出现一次, 只关心数据是否出现, 不关心其位置;
相关文章推荐
- python基本数据类型list,tuple,set,dict用法以及遍历方法
- Python中list,tuple,dict,set的区别和用法
- Python中内置数据类型list,tuple,dict,set的区别和用法
- 【python笔记】python中的list、tuple、set、dict用法简析
- Python中list,tuple,dict,set的区别和用法(转)
- Python中list,tuple,dict,set的区别和用法
- Python中内置数据类型list,tuple,dict,set的区别和用法
- Python中内置数据类型list,tuple,dict,set的区别和用法
- 【python笔记】python中的list、tuple、set、dict用法简析
- Python中list,tuple,dict,set的区别和用法
- Python中内置数据类型list,tuple,dict,set的区别和用法
- 【python笔记】python中的list、tuple、set、dict用法简析
- 【python】list tuple dict set 用法及说明
- python入门1之 list、tuple、dict、set的基本要点
- Python中内置数据类型list,tuple,dict,set的区别和用法
- Python中list,tuple,dict,set的区别和用法
- Python中内置数据类型list,tuple,dict,set的区别和用法
- python的dict,set,list,tuple简单分析
- python基础数据结构——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- 列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 的基本方法