Python-元组&字典详解笔记

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.元组重复

扫描二维码关注公众号,回复: 5552441 查看本文章
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))

猜你喜欢

转载自blog.csdn.net/qq_37992321/article/details/88360047
今日推荐