AI课程笔记Python基础(元组+字典+集合)

1元组

1.1元组基础知识

​ ①元组最主要的特征:逗号’,’(可以没有小括号,但一定得有逗号)

​ ②元组内的值不可变

#不加逗号,无法创建元组
tup_failed = (50)
print(type(tup_failed)) #输出:<class'int'>

#加逗号,才能创建元组
tup_secceed = (50,)
print(type(tup_secceed)) #输出:<class'tuple'>
1.2元组的访问(与列表相同,见列表知识汇总)
1.3元组的修改
1.3.1元组的拼接‘+’
1.3.2元组元素不可以作为左值(但元组可以作为左值)
1.3.3元组元素不允许被删除
1.3.4用del删除整个元组
#可以用‘+’进行元组的拼接
tup1 = (1,3,5)
tup2 = (2,4,6)
print(tup1 + tup2) #输出:(1,3,5,2,4,6)

#元组不可以作为左值
tup1[0] = 100 #输出:'tuple' object does not support item assignment

#元组可以作为左值
tup3 = tup1
print(tup3) #输出:(1,3,5)

#元组元素不允许被删除
del tup1[0] #输出:'tuple' object doesn't support item deletion

#用del删除整个元组
del tup1
print(tup1) #输出:name 'tup1' is not defined

#tuple也不允许用append等方法进行元素的添加
1.3.5关于元组是不可变的(需要用到id()函数查看地址->可以与c++中的指针相类比)
#对旧的元组进行复制,其实是用新的元组覆盖旧的元组,元组的地址会发生变化
tup4 = ('a','e','i','o','u')
print(id(tup4)) #输出:1900565318928
tup4 = (1,2,3)
print(id(tup4)) #输出:1900561465728

2字典(可变的容器模型)

2.1字典的基础知识

​ ①变量存储形式:键值对(key - value);用冒号进行分割

​ ②呈现形式:花括号{}呈现

​ ③键和值的唯一性:键唯一但值不唯一

​ ④值可以是任意数据类型,但键一定是不可变的数据类型,如字符串、数字

​ ⑤查看字典长度:len()【与其他容器一样】

#字典的创建:键不允许重复,值可以重复
dict1 = {"HF":10,"H2O":10,"Ca":40}
2.1.1创建一个空字典(用{}或dict())
emptydict_1 = {}
print(len(emptydict_1)) #输出:0

emptydict_2 = dict()
print(len(emptydict_2)) #输出:0
2.2字典的值的查找(用键访问值)
#字典值的查找
dict2 = {"Ben":100,"Tom":80,"Sam":58}
print("The score of Ben is:",dict2["Ben"]) #输出:The score of Ben is: 100
2.3字典值的修改&新增
#字典值的修改&新增
dict3 = {"onion":3.5,"potato":5.1,"garlic":1.7}

#找到了"onion"键,修改该键对值

dict3["onion"] = 2.8 
print("The price of onion is:",dict3["onion"],"yuan per kilo")

#输出:The price of onion is: 2.8 yuan per kilo


#未找到"tomato"键,添加该键值对

dict3["tomato"] = 4.3 
print("The price of tomato is:",dict3["tomato"],"yuan per kilo")

#输出:The price of tomato is: 4.3 yuan per kilo
2.4字典元素的删除(del、clear)
#del删除元素
dict3 = {"pi":3.14,"e":2.71}
del dict3["pi"]
print(dict3) #输出:{"e":2.71}

dict3.clear()
print(dict3) #输出:{}
2.5字典的内置函数(len()、str()、type())
#字典的str()方法:相当于将字典转化成字符串输出
dict4 = {"Tom":"Jerry"}
print(str(dict4)) #输出:{"Tom":"Jerry"}

3集合(Set->不重复的元素序列)

3.1集合的创建
#集合创建只能使用set()函数
set1 = set()
set1 = {"Tommy","Daisy","Kelly"}
print(type(set1)) #输出:<class 'set'>
3.2集合的应用——降重(由其本身的性质决定)
#用集合实现自动降重
set2 = set()
set2 = {"apple","pineappple","orange","apple","orange"}
print(set2) #输出{"apple","pineappple","orange"}

4.补充:字符串与数字类型转换

4.1int()函数直接转换
#int()将字符串转化成数字
str1 = "123"
num = int(str1) 
print(num) #输出:123
4.2eval()函数转换(去掉最外层的引号)
#eval()将字符串转化成数字
str1 = "123"
num = eval(str1) 
print(num) #输出:123