元组
我们知道,用方括号括起来的是列表,那么用圆括号括起来的是什么,是元组。
元组也是序列结构,但是是一种不可变序列,你可以简单的理解为内容不可变的列表。除了在内部元素不可修改 的区别外,元组和列表的用法差不多。
元组与列表相同的操作:
- 使用方括号加下标访问元素
- 切片(形成新元组对象)
- count()/index()
- len()/max()/min()/tuple()
元组中不允许的操作,确切的说是元组没有的功能
- 修改、新增元素
- 删除某个元素(但可以删除整个元组)
- 所有会对元组内部元素发生修改动作的方法。
例如,元组没有remove,append,pop等方法 看一些实例:
tup1 = () # 创建空元组
tup1 = (40,) # 创建只包含一个元素的元组时,要在元素的后面跟个逗号
tup = (1, 2, 3, 4)
tup[2]
3
tup[3] = "a"
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
tup[3] = "a"
TypeError: 'tuple' object does not support item assignment
元组与列表类似的特殊操作
元组只保证它的一级子元素不可变,对于嵌套的元素内部,不保证不可变!
tup = ('a', 'b', ['A', 'B'])
tup[2][0] = 'a'
tup[2][1] = 'b'
tup
('a', 'b', ['a', 'b'])
列表和元组的转换
使用list函数可以把元组转换成列表
使用tuple函数可以把列表转换成元组
字典
Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的 地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值的类型也可以是其它任何数据类 型!
字典的key必须是不可变的对象,例如整数、字符串、bytes和元组,但使用最多的还是字符串。 列表、字典、集 合等就不可以作为key。同时,同一个字典内的key必须是唯一的,但值则不必。
字典可精确描述为不定长、可变、无序、散列的集合类型
字典的每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,例如:
d = {
key1 : value1, key2 : value2 }
创建字典
dict()函数是Python内置的创建字典的方法。
test = {
} # 创建空字典
test = {
"a":'123','b':'2',"c":3}
dict([('name', 'juran'), ('age', 18), ('addr', 'cs')])
{
'name': 'juran', 'age': 18, 'addr': 'cs'}
dict(a=1, b=2, jack=4098)
{
'a':1,'b':2}
访问字典
字典是集合类型,不是序列类型,因此没有索引下标的概念,更没有切片的说法。但是,与list类似,字典采用把 相应的键放入方括号内获取对应值的方式取值。
dic = {
'Name': 'json','Age': 18}
print ("dic['Name']: ", dic['Name'])
print ("dic['A