1.字典
*字典的定义
dictionary(字典)是除列表以外 python 中最灵活的数据类型。
字典同样可以用来存储多个数据,通常用于存储描述一个物体的相关信息。
字典是无序的对象集合使用print函数输出字典时,通常输出的顺序和定义的顺序是不一致的。
字典用 {} 定义
d = {key1 : value1, key2 : value2 }
字典使用键值对存储数据,键值对之间使用 : 分隔
键key是索引,值value是数据,键和值之间使用;分隔,键必须是唯一的(因为我们必须通过键来找到数据),值可以取任何数据类型,但键只能使用字符串,数字或元组。
字典类似于你通过联系人名称查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。
添加可以这么加:d [‘a’] = ‘1’ d[‘a’] = 1 删除可以这样 del d[‘a’] 就可以删除‘a’这个的索引和值。
使用方法有这么几种
1. d1 = {‘a’: ‘1’, ‘b’: 2}
print(d1)
2.d2 = dict({‘a’: ‘1’, ‘b’: 2})
print(d2)
3.d3 = dict(a=‘1’, b=2)
print(d3)
内置函数
cmp(dict1, dict2) 比较两个字典元素
len(dict) 计算字典元素个数,即键的总数
str(dict) 输出字典可打印的字符串表示
type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型
a.popitem 删除字典最后一个索引
内置方法
dict.clear() 删除字典内所有元素
dict.copy() 返回一个字典的浅复制
dict.fromkeys(seq[, val]) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
dict.has_key(key) 如果键在字典dict里返回true,否则返回false
dict.items() 以列表返回可遍历的(键, 值) 元组数组
dict.keys() 以列表返回一个字典所有的键
dict.setdefault(key, default=None) #和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2) #把字典dict2的键/值对更新到dict里
dict.values() 以列表返回字典中的所有值
pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem() 返回并删除字典中的最后一对键和值。*
2. 元组
列表是可以修改的,但元组是不可修改的。
在Python中,元组使用一对小括号将所有的元素括起来,但是小括号不是必须的,只要将一组值用逗号分隔开,Python就可以使其为元组。
a = (‘b’,‘c’,‘d’) 或者可以不使用小括号直接用逗号隔开a= ‘a’,‘b’,‘c’
如果要创建的元组中只有一个元素,需要在元素的后面加上逗号,否则Python使其为字符串。
a = (‘a’) #字符串
a = (‘a’,) #元组
创建空的元组 emptytuple = ()
tuple1=tuple(list1) 将列表转换成元组
对元组进行排序,先转换成列表
tup1=(3,2,6,9,4,1,7)
print(tup1)
list1=list(tup1)
list1.sort()
print(list1)
3. 集合
集合的创建:a ={1,2,3,4}
集合不能这样创建空集合:a ={}#这样是字典
应该这样a = set([]) #创建空集合时,不能直接创建,要在小括号内加中括号来表示。
集合转函数
a = [1,2,3,1,2,3,3,3,3,3,3,3]
print(set(a))
集合只支持成员操作符和for循环。
集合的常用方法:
s = {6,7,8,9}
#增加
s.add(1)
print(s)
s.update({2,3,5})
print(s)
且这会按照顺序进行排序
#删除
s.pop()
print(s)
#删除指定元素
s.remove(9)
print(s)
#交集,并集,差集
s1 = {1,2,3}
s2 = {2,3,4}
#并集
print(‘并集:’,s1.union(s2))
print(‘并集:’,s1|s2)
#交集
print(‘交集:’,s1.intersection(s2))
print(‘交集:’,s1&s2)
#差集
print(‘差集:’,s1.difference(s2))
print(‘差集:’,s2.difference(s1))
s1 = {1,2,3}
s2 = {2,3,4}
print(s1.difference(s2)) 结果是1
print(s2.difference(s1)) 结果是4
#对等差分:并集 - 交集
print(‘对等差分:’,s1.symmetric_difference(s2))
print(‘对等差分:’,s2.symmetric_difference(s1))
s3 = {1,2}
s4 = {1,2,3}
print(s4.issuperset(s3))
print(s3.issubset(s4))
#两个集合是否不相交
print(s3.isdisjoint(s4))
集合内置方法完整列表:
#方法 #描述
add() #为集合添加元素
clear() #移除集合中的所有元素
copy() #拷贝一个集合
difference() #返回多个集合的差集
difference_update() #移除集合中的元素,该元素在指定的集合也存在。
discard() #删除集合中指定的元素
intersection() #返回集合的交集
intersection_update() #删除集合中的元素,该元素在指定的集合中不存在。
isdisjoint() #判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset() #判断指定集合是否为该方法参数集合的子集。
issuperset() #判断该方法的参数集合是否为指定集合的子集
pop() #随机移除元素
remove() #移除指定元素
symmetric_difference() #返回两个集合中不重复的元素集合。
symmetric_difference_update() #移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union() #返回两个集合的并集
update() #给集合添加元素