其他关于Python的总结文章请访问:https://www.jianshu.com/nb/47435944
Python中的list、tuple、dict和set
List
list是一种有序集合,可以随时添加或者删除其中的元素,使用中括号中的逗号隔开的元素表示,list中的元素数据类型可以不同,甚至是另外一个list
- 使用
ListName
后跟[n]
的索引访问,索引从0开始表示第一个元素,-1表示倒数第一个元素,-2表示导数第二个元素 -
len(listName)
返回list中的元素个数 -
listName.append(newElement)
向list中新增元素到list的末尾 -
listName.insert(n,newElement)
向list中新增元素到list的第n-1
位,即n
所在索引处 -
listName.pop(n)
从list中删除索引为n
的元素并返回,传入空参数则删除list末尾元素
Tuple
tuple是不可变的list,一经初始化不能再改变,只能访问,使用小括号中的逗号隔开的元素表示
- 定义空tuple可以写成
t=()
- 定义包含1个元素的tuple需要写成
t=(elememt,)
,从而和单独的element分开
Dict
字典,全称dictionary,同其他语言中的map,是键值对的形式存储信息的。使用大括号中的逗号隔开的键值对表示,键值对写成 'key':value
的形式,key
是不能重复的。
- 使用
dictName['key']
访问该键对应的值 - 使用
dictName['key']=value
的方式为键为key
的位置赋值,如果没有该键就新增键值对 - 使用
'key' in dictName
判断key
是否在dictName
中 - 使用
get()
方法判断-
dictName.get('key')
如果有key
则返回该值,否则返回None
-
dictName.get('key',givenValue)
如果有key则返回该值,否则返回givenValue
-
- 使用
dictName.pop('key')
删除key
与去对应的值
Dict与List的比较
- Dict的特点
- 查找和插入的速度极快,不会随着key的增加而变慢
- 需要占用大量的内存,内存浪费多
- List的特点
- 查找和插入的时间随着元素的增加而增加
- 占用空间小,浪费内存很少
Dict是用空间来换取时间的一种方法,基于哈希算法
Set
set存放的是一组不重复的无序元素,创建set时需要传入一个list,set会自动过滤list中的重复元素
s=set([1,2,2,3,3,3])
# s={1,2,3}
- 使用
setName.add(element)
,可以增添新的元素 - 使用
setName.remove(element)
,可以删除该元素
set可以看成数学意义上的无序无重复元素的集合,因此可以做交集 &
、并集 |
等运算
s1=set([1,2,3])
s2=set([2,3,4])
s1 & s2
# {2,3}
s1 | s2
# {1,2,3,4}