python元组
类似于列表,不同之处在于元组的元素不能修改。
创建元组
在括号中添加元素,用逗号隔开。
存放数据
tuple1 = (1, 2, 3, 4, 5 ) (相同类型)
tuple1 = ('tumple',2000) (不同类型)
tuple1 = "a", "b", "c", "d" (不用括号)
tup1 = (50)
tup2 = (50,)(元组中只包含一个元素时,需要在元素后面添加逗号 ,否则括号会被当作运算符使用 )
访问元组
与字符串类似,下标索引从 0 开始,可以进行截取,组合等。
修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
tup1 = (12, 34.56) tup2 = ('abc', 'xyz') # 创建一个新的元组 tup3 = tup1 + tup2 print (tup3) # 以下修改元组元素操作是非法的。 # tup1[0] = 100
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。
元组运算符
和字符串一样,元组之间可以使用 +、+=和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
元组不可变
元组所指向的内存中的内容不可变。
元组常用API
len(tuple) | 返回元组中元素个数。 |
max(tuple) | 返回元组中元素最大值。 |
min(tuple) | 返回元组中元素最小值。 |
tuple(list) | 将列表转换为元组。 |
Python字典(dict )
是一种可变容器模型,可存储任意类型对象。
每个键值对( key:value )用冒号分割,每个对之间用逗号分割,整个字典包括在花括号 {} 中
d = {key1 : value1, key2 : value2, key3 : value3 }
创建字典
d1 = {}#创建空字典
d2 = dict()#使用内建函数 dict()创建字典
d3 = {"name":"karen","age":23}
d4 = dict({"name":"jack","age":24})
访问字典里的值
相应的键放入到方括号中,如果用字典里没有的键访问数据,会输出错误。
修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对。
删除字典元素
del函数能删单一的元素也能清空字典,清空只需一项操作。
显式删除一个字典用del命令。
mydic = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del mydic['Name'] # 删除键 'Name'
mydic.clear() # 清空字典
字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
字典常用API
操作字典的函数:
len(dict) | 计算字典元素个数,即键的总数。 |
str(dict) | 输出字典,可以打印的字符串表示。 |
type(variable) | 返回输入的变量类型,如果变量是字典就返回字典类型。 |
字典的方法:
1 | dict.clear()删除字典内所有元素 |
2 | dict.copy()返回一个字典的浅复制 |
3 | dict.fromkeys(seq)创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
4 | dict.get(key, default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值 |
5 | key in dict如果键在字典dict里返回true,否则返回false |
6 | dict.items()以列表返回一个视图对象 |
7 | dict.keys()返回一个视图对象 |
8 | dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | dict.update(dict2)把字典dict2的键/值对更新到dict里 |
10 | dict.values()返回一个视图对象 |
11 | pop(key,default)删除字典 key(键)所对应的值,返回被删除的值。 |
12 | popitem()返回并删除字典中的最后一对键和值。 |
Python集合(set)(无序的不重复元素序列 )
集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。
创建集合
使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。
空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
添加元素
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
s.add( x ) 添加元素到集合
s.update( x ) 添加元素到集合,且参数可以是列表,元组,字典等 ,x 可以有多个,用逗号分开
移除元素
s.remove( x ):将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
s.discard( x ):将元素 x 从集合 s 中移除,如果元素不存在,不会发生错误。
s.pop():对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
集合元素的操作
len(s):计算集合元素个数
clear():清空集合
x in s :判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
集合内置方法完整API
方法 | 描述 |
---|---|
add() | 为集合添加元素 |
clear() | 移除集合中的所有元素 |
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference_update() | 移除集合中的元素,该元素在指定的集合也存在。 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 返回集合的交集。 |
isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
issubset() | 判断指定集合是否为该方法参数集合的子集。 |
issuperset() | 判断该方法的参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
remove() | 移除指定元素 |
symmetric_difference() | 返回两个集合中不重复的元素集合。 |
symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
union() | 返回两个集合的并集 |
update() | 给集合添加元素 |
len() | 计算集合元素个数 |