内容整理于廖雪峰官网和菜鸟教程
list可变用[] , tuple不可变用()
dict={} set()均不可放入可变元素
list和tuple
list
- 定义
listA=[‘AAA’,‘bbb’,‘ccc’]
list的元素可以是另一个list
listB=[‘ddd’,listA]
listC=[‘ddd’,[‘eee’,‘fff’]]
len(listC)=2 len计算元素数
list的元素可以是不同类型
listD=[‘ggg’,123,Ture] - 索引
索引从0开始,越界报错
listA[0]=‘AAA’
listA[1]='bbb’正数第一个
listA[-1]='ccc’倒数第一个
可以作为二维数组来索引
listC=[‘ddd’,[‘eee’,‘fff’]]
listC[1][0]=‘eee’ - append将元素插入末尾
listA.append(‘123’)
append将list类型元素插入list时,插入list作为一个元素
>>>istA=['AAA','bbb','ccc']
>>>e=['abc','def']
>>>listA.append(e)
>>>listA
listA=['AAA','bbb',['abc','def']]
- extend批量增加,多个元素需要作为list类型的参数引用
listA.extend(‘abc’)——listA=[‘AAA’,‘bbb’,‘ccc’,‘a’,‘b’,‘c’]
extend将list类型插入list时,list中的元素被拆开
>>>istA=['AAA','bbb','ccc']
>>>e=['abc','def']
>>>listA.extend(e)
>>>listA
listA=['AAA','bbb','ccc','abc','def']
- pop删除最后一个元素
listA.pop()
listA.pop(i) #i是索引位置 - remove删除指定元素
listA.remove(‘AAA’) - insert在指定位置插入
list名称.insert(位置索引,元素)
listA.insert(1,‘ggg’) - 元素赋值
listA[0]=‘hahaha’
tuple
- 定义
一旦初始化就不能更改的有序列表,指向不变,但如果指向list,list内的元素可以变
tupleA=(‘aaa’,‘bbb’,‘ccc’)
只有一个元素的tuple需要加,tupleB=(1,)
可以定义空tuple,tupleC=() - 删除
tuple不允许删除元素值,可以用del tupleA删除整个tuple - 操作
可以进行索引、切片、迭代、+++连接、*复制 - 函数
cmp(tuple1,tuple2) python3没有cmp函数,需要引入operator模块
len(tuple)
max(tuple)
min(tuple)
tuple(seq)将list生成tuple
dict和set
dict={} set()均不可放入可变元素
dict
- 描述
字典,其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度
和list比较,dict使用hash算法,有以下几个特点:查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多。而list相反:查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少。
- 定义
d = {key1 : value1, key2 : value2 }
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
-
插入key-value
d[‘Adam’] = 67
value可以是任何数据类型,但key必须是不可变的。每个key的value是唯一的,对一个key多次放入value,只保留最后一个 -
删除
d.pop(‘Michael’),删除key对应value也删除
del d,删除整个dict -
判断key存在
- in判断
‘Bob’ in d - get() 判断,不存在则返回None(Python交互不显示)(括号内无第二参数)或者第二参数的指定值
d.get(‘Michael’)
d.get(‘Wayne’,-1)
set
一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
- 定义
创建set需要以list作为输入集合,输入list中的重复元素将自动被过滤,可以使用{}或者set()函数创建集合。 创建空集必须set(),{}会创建一个新字典。
s1=set('apple')
print(s1)
s2=set(('apple'))
print(s2)
s3=set(('apple',))#采取这种方式创建单一元素集合
print(s3)
{'p', 'a', 'l', 'e'}
{'p', 'a', 'l', 'e'}
{'apple'}
- 判断元素是否存在
x in s 存在返回True不存在返回False - 添加
s.add(4)
s.update(x) 参数可以是list\dict\tuple - 删除
s.remove() 没有该元素则报错
s.discard() 元素不存在也不会报错
s.pop() 脚本模式随机删除,交互模式删除排序后集合第一个元素 - 清空set
s.clear() - 交集、并集
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集s1&s2、并集s1 | s2 等操作
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a {'a', 'r', 'b', 'c', 'd'}
>>> a - b # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}
本文深入解析Python中的list、tuple、dict和set数据结构,详细介绍了它们的定义、操作、特性及应用场景,帮助读者掌握Python数据处理核心技能。
1009

被折叠的 条评论
为什么被折叠?



