0421 python学习总结
1.加法和乘法运算
1)列表1 + 列表2 - 将两个列表合并产生一个新的元素
list1 = [10,20,30]
list2 = [100,200]
print(list1 + list2) #[10,20,30,100,200]
2)列表 * N - 将列表中的元素重复N次产生一个新的列表
print(list1 * 3) #[10,20,30,10,20,30,10,20,30]
2. in 和 not in
数据 in 列表 - 判断列表中是否存在指定数据对应的元素
数据 not in 列表 - 判断列表中是否不存在指定数据对应的元素
print(10 in list1)
print(11 in lise10)
print([10,20] in list1)
练习:已知一个列表保存了多个学生的姓名,要求去掉列表中重复的名字
names = [‘小明’, ‘张三’, ‘李四’, ‘张三’, ‘张三’, ‘小明’, ‘王五’, ‘王五’]
names = ['小明', '张三', '李四', '张三', '张三', '小明', '王五', '王五']
name = []
for x in names:
if x not in name:
name.append(x)
print(name)
3.相关函数
1)max(列表)、min(列表)
list1 = [10,23,45,67,91]
print(max(list1),min(list1))
2)
sorted(列表) - 将列表中的元素从小到大排序,产生一个新的列表
sorted(列表,reverse=True) - 将元素中的列表从大到小排序,产生一个新的列表
list1 = [10,230,45,670,91]
new_list1 = sorted(list1)
print(new_list1) # [10, 45, 91, 230, 670]
list1 = [10, 230, 45, 670, 91]
new_list1 = sorted(list1, reverse=True)
print(new_list1)
3)len(列表) - 获取列表长度(列表中元素的个数)
print(len(list1))
4)list(数据) - 将指定的数据转换成列表(这的数据必须是序列)
只要是序列就能转换成列表,转换成列表的时候,序列中的元素就是列表中的元素
print(list('abc')) #[‘a’,'b','c']
print(list(range(5))) #[0,1,2,3,4]
二.字典
1.字典存在的价值
需求:定义一个变量保存一个学生的信息
stu1 = ['小明',25,'男',170,70,80]
print(stu[0])
print(stu[-1])
stu2 = {'name':'小明','age':25,'身高':170,'体重':70,'成绩':'80'}
print(stu2['name'])
print(stu2['成绩'])
结论:需要同时保存多个意义不同的数据就使用字典;需要同时保存多个意义相同的数据就使用列表
2.什么是字典(dict)
容器;将{}作为容器的标志,里面多个键值对用逗号隔开(一个键值对就是一个元素):{键1:值1,键2:值2,键3:值3,…}
字典是可变的(支持增删改);字典无序(顺序不影响结果;不支持下标操作)
键的要求:a.不可变类型的数据才能作为字典的键(数字、字符串、布尔、空值、元组),一般使用字符串作为字典键。
b.键唯一。
值的要求:没有要求。
空字典
dict1 = { }
字典是无序的
print('a':10,'b':20 == 'b':20,'a':10) #True
字典的键必须是不可变类型的数据
dict2 = {1: 10, 'a': 20, True: 30, None: 40, (10, 20): 50}
print(dict2)
键是唯一的
dict4 = {'a': 10, 'b': 20, 'c': 30}
print(dict4) # {'a': 10, 'b': 20, 'c': 30}
dict5 = {'a': 10, 'b': 20, 'c': 30, 'a': 50}
print(dict5) # {'a': 50, 'b': 20, 'c': 30}
#后来者居上
三.字典的基本操作
注意:字典保存数据真正想要保存的是值,键是用来对值进行区分和说明
1.查 - 获取字典的值
1)查单个 - 获取一个值
a,字典[键] - 获取字典中指定键对应值,如果键不存在就会报错
b.get(键) - 获取字典中指定键对应值,如果键不存在不会报错,并且会返回None
c.字典.get(键,默认值) - 获取字典中指定键对应值,如果键不存在不会报错,并且返回默认值
dog = {'name':'朵拉','age':2,'breed':'小柴','color':'黄色','gender':'母'}
print(dog['age'])
print(dog['gender'])
# print(dog['weight'])
print(dog.get('age'))
print(dog.get('gender'))
print(dog.get('weight')) # None
print(dog.get('age', 0)) # 3
print(dog.get('gender', '公')) # '母'
print(dog.get('weight', 10)) # 10
students = [
{'name': 'stu1', 'age': 18, 'score': 90},
{'name': 'stu2', 'age': 22},
{'name': 'stu3', 'age': 25, 'score': 78},
{'name': 'stu4', 'age': 30, 'score': 88},
{'name': 'stu5', 'age': 19},
{'name': 'stu6', 'age': 27, 'score': 72}
]
sum1 = 0
for x in students:
sum1 += x.get('score', 0)
print('总分:', sum1)
生活中的字典:定义一个变量保存一个班级信息
class1 = {
'name': 'python2302',
'address': '11教',
'teacher': {'name': '余婷', 'age': 18, 'gender': '女', 'qq': '726550822'},
'header_teacher': {'name': '舒玲', 'age': 18, 'gender': '女', 'tel': '110'},
'students': [
{'name': 'stu1', 'age': 19, 'gender': '男', 'link_man': {'name': '张三', 'tel': '120'}},
{'name': 'stu2', 'age': 16, 'gender': '女', 'link_man': {'name': '李四', 'tel': '119'}},
{'name': 'stu3', 'age': 22, 'gender': '女', 'link_man': {'name': '老王', 'tel': '234'}},
{'name': 'stu4', 'age': 17, 'gender': '男', 'link_man': {'name': '赵六', 'tel': '2112'}},
{'name': 'stu5', 'age': 29, 'gender': '男', 'link_man': {'name': '邓七', 'tel': '5482'}},
{'name': 'stu6', 'age': 25, 'gender': '女', 'link_man': {'name': '王八', 'tel': '9223'}}
]
}
# 1)打印班级名称
print(class1['name'])
# 2)打印讲师的名字和qq
teacher = class1['teacher']
print(teacher['name'], teacher['qq'])
# 3)打印班主任的电话
print(class1['header_teacher']['tel'])
# 4)打印所有学生的名字
students = class1['students']
for stu in students:
print(stu['name'])
# 5)打印所有未成年学生的名字和性别
for stu in students:
if stu['age'] < 18:
print(stu['name'], stu['gender'])
for stu in students:
print(stu['link_man']['name'])
# 7)计算所有男生的平均年龄
total_age = count = 0
for stu in students:
if stu['gender'] == '男':
total_age += stu['age']
count += 1
print(int(total_age / count))
2)遍历 - 一个一个的获取所有的值
for 变量 in 字典:
循环体(变量依次取到的是字典的键)
dog = {‘name’:‘朵拉’,‘age’:2,‘breed’:‘小柴’,‘color’:‘黄色’,‘gender’:‘母’}
for x in dog:
print(x,dog[x])
2.增
1)字典[键] = 值 - 如果键不存在就在字典中添加键值对
2)字典.setdefault(键,值) - 在字典中添加指定键值对(键如果存在不会修改对应的值)
3.改
字典[键] = 值 - 如果键存在就修改指定键对应的值
4.删 - 删除键值对
1)del 字典[键] - 删除字典中指定键对应的键值对
dog = {'name':'朵拉','age':2,'breed':'小柴','color':'黄色','gender':'母'}
print(dog)
2)字典.pop(键) - 取走字典中指定键对应的值
dog = {'name':'朵拉','age':2,'breed':'小柴','color':'黄色','gender':'母'}
print(dog)
dog.pop('color')
#放回去只放值
result = dog.pop('color')
print(dog,result)
四.字符串和元组
1.字符串(str)
容器:将’'或者""作为容器的标志,里面的每一个符合就是字符串中的每个元素。例如:‘abc’、‘10,20,30’
字符串是不可变得;字符串是有序的(支持下标操作)
元素:字符串的元素又叫字符,分为普通字符和转义字符两种
\n - 换行
\t - 水平制表符(tab键)
print('abc') #普通字符
print('\mabc') #普通字符
print('\nabc') #abc (转义字符)
print('abc\n123')
2.字符串查操作
字符串获取元素的方法和列表一样
msg = 'hello world'
print(mag[0])
print(mag[-1])
for x in msg:
print(x)
str1 = 'abc'
str2 = '123'
print(str1 + str2) # 'abc123'
print(str1 * 3) # 'abcabcabc'
print(len(str1))
2.元组
元组就是不可变的列表:(元素1,元素2,元素3,…)
t1 = (10, 20, 30, 40, 50)
print(t1[0])
print(t1[-2])
t2 = (100, 200)
print(t1 + t2) # (10, 20, 30, 40, 50, 100, 200)
print(t2 * 3) # (100, 200, 100, 200, 100, 200)
print(10 in t1)
这篇博客总结了Python中的加法和乘法运算,如列表的合并与重复,以及`in`和`not in`的使用。接着讲解了字典的概念和操作,包括查找、增加、修改和删除键值对。最后讨论了字符串和元组,强调字符串的不可变性以及元组作为不可变列表的角色。
51万+

被折叠的 条评论
为什么被折叠?



