python学习网站推荐
一、tuple(元组)
本质:是一种有序集合
特点:
1、与列表非常相似
2、一旦初始化就不能修改
3、使用小括号
1.创建tuple
格式:元组名 = (元组元素1, 元组元素2, ……, 元组元素n)
创建空的元组
tuple1 = ()
print(tuple1)
2.创建带有元素的元组
元组中的元素的类型可以不同
tuple2 = (1, 2, 3, "good", True)
print(tuple2)
3/定义只有一个元素的元组
tuple3 = (1, )
print(tuple3)
print(type(tuple3))
4.元组元素的访问
格式:元组名[下标]
下标从0开始
取值
tuple4 = (1,2,3,4,5)
print(tuple4[0])
print(tuple4[1])
print(tuple4[2])
print(tuple4[3])
print(tuple4[4])
#print(tuple4[5]) #下标超过范围(越界)
5.获取最后一个元素
print(tuple4[-1])
print(tuple4[-2])
print(tuple4[-5])
#print(tuple4[-6])#越界
6.修改元组
tuple5 = (1,2,3,4,[5,6,7])
#tuple5[0] = 100 #报错,元组不能变
#tuple5[-1] = [7,8,9]
tuple5[-1][0] = 500
print(tuple5)
7.删除元组
tuple6 = (1,2,3)
del tuple6
#print(tuple6)
8.元组的操作
t7 = (1,2,3)
t8 = (4,5,6)
t9 = t7 + t8
print(t9)
print(t7, t8)
9.元组重复
t10 = (1,2,3)
print(t10 * 3)
10.判断元素是否在元组中
t11 = (1,2,3)
print(4 in t11)
11.元组的截取
格式:元组名[开始下标:结束下标]
从开始下标开始截取,截取到结束下标之前
t12 = (1,2,3,4,5,6,7,8,9)
print(t12[3:7])
print(t12[3:])
print(t12[:7])
12.二维元组: 元素为一维元组的元组
t13 = ((1,2,3),(4,5,6),(7,8,9))
print(t13[1][1])
13.元组的方法
(1)len() 返回元组中元素的个数
t14 = (1,2,3,4,5)
print(len(t14))
(2)max() 返回元组中的最大值
#min()
print(max((5,6,7,8,9)))
print(min((5,6,7,8,9)))
(3)将列表转成元组
list = [1,2,3]
t15 = tuple(list)
print(t15)
(4)元组的遍历
for i in (1,2,3,4,5):
print(i)
二、字典
概述:
使用键-值(key-value)存储,具有极快的查找速度
注意:字典是无序的
key的特性:
1、字典中的key必须唯一
2、key必须是不可变对象
3、字符串、整数等都是不可变的,可以作为key
4、list是可变的,不能作为key
#元素的访问
#获取:字典名[key]
dict1 = {"tom":60, "lilei":70}
#获取:字典名[key]
print(dict1["lilei"])
#print(dict1["sunck"])#没有
print(dict1.get("sunck"))
ret = dict1.get("sunck")
if ret == None:
print("没有")
else:
print("有")
2.添加
dict1["hanmeimei"] = 99
#因为一个key对应一个value,所以,多次对一个key的value赋值,其实就是修改值
dict1["lilei"] = 80
print(dict1)
3.删除
#dict1.pop("tom")
#print(dict1)
4.遍历
for key in dict1:
print(key, dict1[key])
#print(dict1.values())
for value in dict1.values(): #[60,80,90]
print(value)
#print(dict1.items())
for k, v in dict1.items():
print(k, v)
for i, v2 in enumerate(dict1):
print(i, v2)
5.和list比较
1、查找和插入的速度极快,不会随着key-value的增加而变慢
2、需要占用大量的内存,内存浪费多
#list
1、查找和插入的速度随着数据量的增多而减慢
2、占用空间小,浪费内存少
w = input()
#w = "good"
str = "sunck is a good man!sunck is a nice man!sunck is a hands man!sunck is a good man!sunck is a nice man!sunck is a great man!sunck is a noble man!sunck is a cool man!"
#print(str.count(w))