Python
python的元组类型
在python中,可以将元组看作一种特殊的列表。唯一与列表不同的是,元组内的数据元素不能发生改变。不但不能改变其中的数据项,而且也不能添加或删除数据项。当开发者需要创建一组不可改变的数据时,通常会把这些数据放到一个元组里。
创建并访问元组
在python中,创建元组的基本形式是以小括号“()”将数据元素括起来,各个元素之间用逗号“,”隔开。例如:
tup1=('I','Love','You','Rui')
tup2=(1,2,3,4,5)
tup3=() #同时python也允许创建空元组
当元组中只包含一个元素时,需要在元素后面加上”,“。例如:
tup=(1,)
在python中,元组与字符串和列表类似,下标索引也是从0开始的,并且也可以进行截取和组合等操作。代码示例:
tup1=('I','Love','You','Rui')
tup2=(1,2,3,4,5)
print(tup1[1])
print(tup2[1:]) #显示元组tup2从索引1开始之后所有元素
在python中,还可以使用for循环来遍历元组,代码示例:
tup1=('I','Love','You','Rui')
print('元组tup1中的元素有:')
for str in tup1:
print(str)
另外在python中的元组与字符串一样,元组之间可以使用“+”号和“*”号进行运算。
操作代码 | 结果 | 功能 |
---|---|---|
len((1,2,3)) | 3 | 计算元素个数 |
(1,2,3)+(4,5,6) | (1,2,3,4,5,6) | 连接 |
(‘Hi!’)*4 | (‘Hi!’,‘Hi!’,‘Hi!’,‘Hi!’) | 复制 |
3 in (1,2,3) | True | 判断元素是否存在 |
for x in (1,2,3): print(x) | 1 2 3 | 迭代 |
修改元组
在python中,元组一旦创立后就是不可修改的。但是在现实程序应用中,可以对元组进行连接组合。代码示例:
tup1=(1,2,3,4)
tup2=(5,6,7,8)
tup3=tup1+tup2
print(tup3)
在python中,虽然语法规定不能修改元组内的元素值,元组是个不可修改的序列,但是可以给储存元组的变量赋值,这样就可以达到简洁修改元组的目的。代码示例:
int1=(100,50)
print('原来的值为')
for str in int1:
print(str)
int1=(200,60)
print('修改完的值为')
for str in int1:
print(str)
删除元组
在python中,虽然不允许删除一个元组中的元素值,但是可以使用del语句来删除整个元组。代码示例:
tup=('I','Love','You','Rui')
print(tup)
del tup
print('元组tup已经被删除后,会报错!')
print(tup)
元组索引和截取
在python中,因为元组属于一种特殊的序列格式(不可更改值的序列),所以可以访问元组中的指定位置的元素,并且可以截取索引中的一段元素。假如有一个元组L=(‘Google’,‘Taobao’,‘Toppr’)展示:
python表达式 | 结果 | 描述 |
---|---|---|
L[2] | ‘Toppr’ | 读取第三个元素 |
L[-2] | ‘Taobao’ | 反向读取,读取倒数第二个元素 |
L[1:] | (‘Taobao’,‘Toppr’) | 截取元素,从第二个开始后的所有元素 |
内置方法操作元组
-
len(tuple):计算元组元素的个数。
-
max(tuple):返回元组中元素的最大值。
-
min(tuple):返回元组中元素的最小值。
-
tuple(seq):将列表转化为元组。
代码示例:
tup=('I','Love','You','Rui')
print('元组的元素个数为:',len(tup))
print('元组中元素的最大值为:',max(tup))
print('元组中元素的最小值为:',min(tup))
list=['宝马','奥迪','奔驰']
tuple1=tuple(list)
print(list)
print(tuple1)
python的字典
在python中,字典是一种比较特别的数据类型,字典中每个成员以“键:值”对的形式成对存在。字典是以大括号“{}”包围并且以“键:值”对的方式声明和存在的数据集合。字典与列表相比,最大的不同在于字典是无序,其成员位置只是象征性的,在字典中通过键来访问成员,而不能通过其位置来访问该成员。
创建并访问字典
在python中,字典可以存储任意类型对象。字典的每个键值“key:value”对之间必须用冒号“:”分隔,每对之间用逗号“,”分隔,整个字典包括在大括号“{}”中。创建字典的语法格式如下:
d={key1 : value1, key2 : value2, key3 : value3}
每个“key:value”键值对中的键(key)必须是唯一的、不可变的,但值(value)则不必。
键值可以取任何数据类型,可以是数字、字符串、列表乃至字典。
代码示例:
dict={'数学':100,'语文':85,'英语':30}
print('数学成绩是',dict['数学'])
print('语文成绩是',dict['语文'])
print('英语成绩是',dict['英语'])
print('化学成绩是',dict['化学']) #调用的字典里没有这个键,执行之后就会输出执行错误的提示。
向字典里添加数据
在python中,字典是一种动态结构,可以随时添加“键值”对。在添加“键值”对时,需要首先指定字典名,然后用中括号将键括起来,最后写明这个键的值。代码示例:
dict={'数学':100,'语文':85,'英语':30}
print(dict)
dict['物理']=95
dict['化学']=70
print(dict)
修改字典
在python中,想要修改字典中的值,首先需要指定字典名,然后使用中括号把将要修改的键和新值对应起来。代码示例:
dict={'数学':100,'语文':85,'英语':30}
print(dict)
dict['数学']=10
dict['语文']=70
print('修改后',dict)
删除字典中的元素
在python中,对于字典中不再需要的消息,可以使用del语句将相应的“键值”对信息删除。在使用del语句时,必须指定字典名和要删除的键。代码示例:
dict={'数学':100,'语文':85,'英语':30}
print(dict)
del dict['数学']
print('删除后:',dict)
创建空字典
代码示例:
dict={}
dict['语文']=20
dict['数学']=30
dict['物理']=40
print(dict)
和字典有关的内置函数
函数 | 功能 |
---|---|
len(dict) | 计算字典中的元素个数,即键的总数 |
str(dict) | 输出字典并且可打印的字符串表示 |
type(variable) | 返回输入的变量类型,如果变量是字典就返回字典类型 |
代码示例:
dict={'数学':100,'语文':85,'英语':30}
print(len(dict))
print(str(dict))
print(type(dict))
遍历字典
因为在字典中可以使用各种方式存储信息,所有可以通过多种方式遍历字典。
一次性遍历所有的“键值”对
可以使用for…in循环语句遍历,代码示例:
dict={'数学':100,'语文':85,'英语':30}
for key,value in dict.items():
print('key:',key)
print('value:',value)
遍历字典的所有键
在python种,使用内置方法keys()能够以列表的形式返回一个字典种的所有键。语法格式如下:
dict.keys()
方法keys()没有参数,只有返回值,返回一个字典中所有的键。代码示例:
dict={'数学':100,'语文':85,'英语':30,'物理':60}
for name in dict.keys():
print(name)
按序遍历字典中的所有键
在python中,字典中总是明确地记录键和值之间的关联关系。在获取字典中的元素时,获取顺序是不可预测的。要想以特定的顺序返回字典中的元素,最简单的方法是for循环中对返回的键进行排序。此时需要用到python中内置函数sorted(),此函数的功能是获得按特定顺序排列的键列表的副本。代码示例:
dict={'数学':100,'语文':85,'英语':30,'物理':60}
for str in sorted(dict.keys()):
print(str)
遍历字典中的所有值
在python中可以使用方法values()返回一个字典中的所有的值,而不包含任何键。语法格式如下:
dict.values()
方法values()没有参数,只有返回值,返回字典中的所有值。代码示例:
dict={'数学':100,'语文':85,'英语':30,'物理':60}
print(list(dict.values()))
字典嵌套
在python中,有时需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。
字典列表
代码示例:
stu1={'数学':100,'语文':85,'英语':30,'物理':60}
stu2={'数学':10,'语文':85,'英语':60,'物理':70}
stu3={'数学':90,'语文':80,'英语':90,'物理':20}
list=[stu1,stu2,stu3]
for stu in list:
print('学生的成绩:',stu)
字典中存储字典
在python中,有时也需要字典存储字典。例如银行等系统,需要一个用户名对应多个值。代码示例:
users={'芮芮':{'手机号':13600000,'一级密码':12345,'二级密码':98765},
'赫赫':{'手机号':13700000,'一级密码':12345,'二级密码':98765},
'佳佳':{'手机号':13800000,'一级密码':12345,'二级密码':98765}
}
for username,user_info in users.items():
print("\n用户名:",username)
print("一级密码是:",user_info['一级密码'])
print("二级密码是:",user_info['二级密码'])
在字典中存储列表
在python中,有时需要将列表中存储在字典中。代码示例:
miantiao={
'种类':'凉面','配料':['多加辣椒','少放醋']
}
print('你点了一份',miantiao['种类'],'配料是:')
for topping in miantiao['配料']:
print("\t"+topping)
使用其他内置方法操作字典
方法clear()清空字典
在python中,使用方法clear()删除字典内的所有元素。语法格式如下:
dict.clear()
代码示例:
stu1={'数学':100,'语文':85,'英语':30,'物理':60}
print('长度为',len(stu1))
stu1.clear()
print('长度为',len(stu1)) #打印出字典长度为0
方法copy()复制字典
在python中,可以使用方法copy()复制一个字典,语法格式如下:
dict.copy()
方法copy()没有参数,但是有返回值,返回一个字典的浅拷贝。代码示例:
dict={'数学':100,'语文':85,'英语':30,'物理':60}
dict2=dict.copy()
print(dict2)
方法fromkeys()创建新字典
在python中,使用fromkeys()可以创建新字典。语法格式如下:
dict.fromkeys(seq[,value])
参数”seq“表示字典键值列表,参数”value“是一个可选参数,用于设置键序列(seq)的值。方法fromkeys()的返回值是一个列表。代码示例:
seq={'name','age','sex'}
dict=dict.fromkeys(seq) #创建新字典
print("新的字典为;%s" % str(dict))
dict=dict.fromkeys(seq,10) #创建指定键值的新字典
print("新的字典为:%s" % str(dict))
方法get()获取指定的值
在python中,使用方法get()可以返回字典中某个指定键的值,如果键不在字典中,则返回默认值。语法格式如下:
dict.get(key,default=None)
参数”key“表示在字典中需要查找的键,参数”default“表示如果指定键不存在,则返回该默认值。代码示例:
dict={'name':'汤姆','age': 28}
print('age键的值为',dict.get('age'))
print('sex键的值为',dict.get('sex','不存在'))
方法setdefault()获取指定的键值
在python中,方法setdefault()和方法get()的功能相似,可以返回字典中某个指定键的值,如果键不在字典中,则会添加键并将值设为默认值。语法格式如下:
dict.setdefault(key,default=None)
参数”key“表示在字典中需要查找的键,参数”default“表示如果指定键不存在时设置的默认键值。方法setdefault()没有返回值。代码示例:
dict={'name':'汤姆','age': 28}
print(dict)
print(dict.setdefault('age',None))
print(dict.setdefault('sex',None))
print(dict)
方法update()修改字典
在python中,方法updat()的功能是把字典dict2的”键值“对更新到字典dict中。语法格式如下:
dict.update(dict2)
参数”dict2“表示将要添加到指定字典dict里的字典。方法update()没有返回值。代码示例:
dict={'name':'汤姆','age': 28}
dict2={'sex':'男',}
print(dict)
dict.update(dict2)
print(dict)
python的集合
在python中,集合(set)是一个无序不重复元素的序列。集合的基本功能是进行成员关系测试并删除重复的元素。python规定使用大括号“{}”或者函数set()创建集合。记得注意,创建一个空集合的时候必须用函数set()实现,而不能使用“{}”大括号实现,因为空的”{}“大括号是用来创建一个空字典的。
代码示例:
students={'Tom','Mary','Tom','Jim','Jack','Rose'} #创建一个集合
print(students) #打印集合,重复的元素会被自动删除