首页 > 代码库 > python数据类型的随笔,关于list,dict和set

python数据类型的随笔,关于list,dict和set

list的概念:
#是一种有序数组集合
l=[‘cris’,‘make’,‘lie’ ]
#一般索引是从0开始
len(l)可以返回数组的长度
想要添加元素可以用
l.append(“cris”)#把元素添加到数组的末尾
l.insert(1,“cris”)#把元素插入到指定索引的位置
l.pop(索引)#可以删除元素,并返回值 “cris”不写索引默认删除最后一个元素
l.remove(‘元素‘)#删除元素
del l[索引]#删除元素
l[1]="cris"#替换第二个元素
l.extand(列表名)#将两个列表拓展为一个列表
l.reverse()#反转列表
l.sort()#排序
for i,j in enumerate(li,100): #这个函数可以打印list元素的系列号和元素,默认是0开始也可以指定开始序列号如100
    print(i,"---",j)

tuple的概念:
tuple又名元祖,和list相似不过初始化了就不能修改
list(tuple)可以转换为列表
tuple(list)可以转化为元祖


dict的概念:
#dict我称其为键值对,又称为字典,kye必须是唯一的,字典是无序的,其语法如下(部分list语法也适用于dict)
d = {‘Michael‘: 95,‘Bob:‘ 75,‘Tracy‘:85}
#可以调用相应的key(键)来获取对应的value(值)
d[‘Michael‘]
95
#可以通过以下方式判断这个值是否再dict中
‘cris’ in d
不在则返回flase
#也可以通过get方法,值不在返回None(建议用这个取值)
d.get(‘cris‘)可以返回None或者指定返回value比如-1
d.get(‘cris‘,-1)
#append()方法也可以增加元素
#如果要删除一个字典元素可以用pop方法,其key和value都会删除
d.pop(‘Bob‘)
返回75
#如果元素不存在则会报错可以设定一个默认值这样就不会报错了
d.pop(‘sasasas‘None)
返回None
#另一个判断是否存在语法
print(‘sasasas‘ in d)
在返回True不在返回Flase
#查询所有的Key
print(d.keys())
#查询所有的value
print(d.values())
#合并两个字典如果有重复元素用新的取代
d.update(dict2)
d.fromkeys([1,2,3],{"b"})


set的概念:
dir(set)命令查看所有方法
#set和dict类似,是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。  集合还有关系测试功能
set内的数据都是不可变类型

s = set([1, 1, 2, 2, 3, 3])
>>s
{1,2,3}
通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通过remove(key)方法可以删除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}
#两个set合并
set.update(set2)

#求差集并赋值集合
set3=set.difference(set2)

#丢弃删除元素(注意:如果没有不会报错)
set.discard(元素)

#删除元素(如果没有会报错)
set.remove(元素)

#判断是否是另一个的子集(就是是否其中一个包含前者所有元素)
set.issubset(set2)

#判断是否是另一个的父集
set1.issuperset(set)

#set的特殊功能:关系测试(以下只是测试结果并不会修改结果)
dir(set)命令查看所有方法
#交集 测试两个都有
print(set1.intersection(ste2))
print(linux & python)
#差集 在列表a里有,b里没有
print(set1.differebce(set2))
print(set1 - set2)
#并集 把两个列表里的元素合并在一起,去除重复的
print(set1.union(set2))
print(set1 | set2)
#对称差集,就是打印对方都没有的元素
print(set1.symmetric_difference(set2))
print(set1^set2)

python数据类型的随笔,关于list,dict和set