元组像列表一样,再Python中用来存储数据。元组使用小括号()表示,多个值之间用逗号隔开。与列表不同的是,元组是不允许修改的。
创建元组的字面值
t=()#创建一个空元组
需要注意的是,如果要创建只有一个元素的元组,需在元素结尾加上逗号,否则创建的将不是元组,而是其他类型的数据,例如:
s=(1,)
如果不加逗号,创建的将是int型数据
元组同列表一样,可以存储不同类型的数据:
t=('你好',122,31,31,13)
此外,还可以通过tuple函数来创建列表:
t=tuple()#创建一个空列表
t=tuple(1,2,'你好')
前面说到,因为元组是一种不可变的容器,所以它不能像列表那样对里面的数据进行修改
可以使用del函数删除元组,但不能通过下标的方式删除元组中的某一个元素。
t=tuple(1,2,2,'你好')
del t
元组的元素访问跟列表一样,可以通过下标、切割等方式去访问
t = ('python', '你好', 100, 200)
print (tup1[0])
print (tup2[1:3])
print (tup2[:3])
print (tup2[2:])
len(tuple) #返回元组中元素个数。
max(tuple) #返回元组中元素最大值
min(tuple) # 返回元组中元素最小值
tuple(list) #将列表转换为元组
s.index(x, i, j) #x在s中首次出现的索引号,且索引号在i后j前(不包括j)
字典是一种可变的容器,可存储任意数据,字典以键(key)-值(value)对的形式进行映射,键值对用冒号分割,对之间用逗号分割,用花括号{}括起来。字典的键必须是不可变的类型,但值可以是任意类型的数据。字典的数据是无序的,所以不能通过下标的方式来访问数据,而是通过键来进行索引。
可以直接创建一个字典:
d = {} # 创建空字典
d = {'name': "weimingze", "age": 35}
d = {'a': [1, 2, 3]}
d = {'b': {"bb": 222}}
也可以通过创建函数dict来创建字典:
d = dict() # d = {}
d = dict([("name", "小王"), ("age", 35)]) # {'name': '小王', 'age': 35}
字典[键key] = 表达式 #键不存在, 就添加,键存在, 会改变键对应的值
字典[键key] #通过键去索引值
del 字典[键] #删除某一个键值对
len(dict) #计算字典元素的个数
str(dict) #把字典以字符串的形式输出
dict.copy() #返回一个字典的浅复制
dict.get(key, default=None) #返回指定键的值,如果键不在字典中返回 default 设置的默认值
dict.items() 以列表形式返回字典键值对的视图对象
dict.keys() #以列表形式返回字典键的视图对象
dict.values() #以列表形式返回字典值的视图对象
分集合set和固定集合frozenset,集合和固定集合的元素值都必须是不可变的,可以存储int、str、tuple等不可变类型,但不能存储 list、dict 等可变类型。集合是可变的容器,可以对集合进行修改,固定集合是不可变的集合,一旦创建不能修改。不管是集合或者固定集合,其中存储的值都不能重复,这是集合不同于其他类型数据的特征。
可以直接创建集合:
set={}#创建一个空集合
set={1,2,3,4,5,6}
或者用函数set创建:
s = set()
s = set(range(5))
固定集合用frozensets函数来创建:
fs=frozenset()# 创建一个空固定集合
fs = frozenset([1, 2, 3]) #fs = frozenset({1, 2, 3})
s.add( x ) # 添加元素到集合。
s.update( x ) # 添加元素到集合,且参数可以是列表、元组、字典等,x 可以有多个,用逗号分开
s.remove( x ) # 将元素 x 从集合 s 中移除,不存在会发生错误。
s.discard( x ) # 将元素 x 从集合 s 中移除,不存在也不会发生错误。
s.pop():# 对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除,并且会返会删除的值。不用纠结于他是通过哪种方式排列的,一般是通过这种方式将集合中的数据一个个拿出来。
add() #为集合添加元素
difference() #返回多个集合的差集
difference_update() #移除集合中的元素,该元素在指定的集合也存在。
intersection() #返回集合的交集
intersection_update() #返回集合的交集
issubset() #判断指定集合是否为该方法参数集合的子集
symmetric_difference() #返回两个集合中不重复的元素
symmetric_difference_update() # 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
union() #返回两个集合的并集
int(x) # 将 x
转换为整数类型
float(x) # 将 x 转换为浮点数类型
str(x) #将 x
转换为字符串类型
list(x) #将 x
转换为列表类型,x
必须是可迭代对象
tuple(x) #将 x
转换为元组类型,x
必须是可迭代对象
set(x) #将 x
转换为集合类型,x
必须是可迭代对象
dict(x) #将 x
转换为字典类型,x
必须是可迭代的键值对序列(如列表、元组)
bool(x) #将 x
转换为布尔类型,x
的值可以是任何对象,返回 True
或 False
chr(x) #将整数 x 转换为对应的字符,x 是 Unicode 码点
ord(x) #将字符 x 转换为对应的整数,x 是一个单一字符
eval(x) #将字符串 x 作为 Python 表达式进行求值并返回结果