列表是Python用于储存一系列数据的容器(特点是可以存放不同类型的数据)
python_list = ["键盘",True,66,88.8]
列表是可变数据类型,可以直接对列表中的元素进行更改而不需要赋值给本身
列表方法:
1.append函数向列表中增加元素
2.remove函数从列表中删除指定的元素
3.max,min函数返回列表中的最大值
4.sorted函数返回排列好的列表
代码展示:
# append,remove功能展示
python_list1 = []
print(python_list1)
print("len: " + str(len(python_list1)))
python_list1.append("键盘")
python_list1.append("鼠标")
print(python_list1)
print("len: " + str(len(python_list1)))
print("列表中的第一个元素为:" + str(python_list1[0]))
python_list1.remove("键盘")
print(python_list1)
print("len: " + str(len(python_list1)))
print("列表中的第一个元素为:" + str(python_list1[0]))
python_list1[0] = "显示器"
print("列表中的第一个元素为:" + str(python_list1[0]))
# max,min,sorted函数功能展示
python_list2 = [28, 17, 22.5, 92, 8]
# max:
print("max:" + str(max(python_list2)))
# min:
print("min: " + str(min(python_list2)))
# sorted:
print("排序前:" + str(python_list2))
print("排序后:" + str(sorted(python_list2)))
字典用于储存键值对,键与值相匹配,每个键匹配一个值,使用花括号” { } "框起字典值,通过方括号“ [ ] ” 进行字典元素的访问。
(键和值之间用“ : “表示对应)
contacts = {"张三": 17307931122,
"李四": 17307933344}
print(contacts["张三"])
print(contacts["李四"])
字典是可变数据类型,但其中只能存放不可变的数据,若需要多个键匹配值不可以使用列表作为键(列表是可变数据类型),此时可以使用可变数据类型元组tuple,与列表相区分的是用圆括号" ( ) "框其元组值。
contacts = {("张三",1122):17307931122,
("张三",3344):17307933344}
print(contacts[("张三",1122)])
print(contacts[("张三",3344)])
字典功能:
1.字典是可变数据类型 ,可以向其中添加键值对,如果添加的键已经存在,则变为更新该键对应的值。
2.通过del删除字典中的键值对: del 字典名[键名],如果键名不存在与字典中,则会报错。
3.可以通过 "键名“ in 字典名 返回一个布尔值判断该键在此字典中是否存在
4.len函数返回字典的长度
代码展示:
contacts = {("张三", 1122): 17307931122,
("张三", 3344): 17307933344}
print(contacts)
print("len:" + str(len(contacts)))
# 判断键是否存在与字典中
if ("张三", 1122) in contacts:
print("(张三,1122) 在contacts字典中")
print("------------------------")
# 添加键
if ("李四", 5566) in contacts:
print("(\"李四\",5566)在contacts字典中")
else:
print("(\"李四\",5566)不在contacts字典中")
contacts[("李四", 5566)] = 17307935566
print(contacts)
print("len:" + str(len(contacts)))
if ("张三", 3344) in contacts:
contacts[("张三", 3344)] = 17307937788
print(contacts)
print("len:" + str(len(contacts)))
print("------------------------")
# del删除键
del contacts[("张三", 1122)]
print(contacts)
print("len:" + str(len(contacts)))
可以对列表,字典,字符串,range( )等进行循环迭代(使用变量名在可迭代对象中依次进行扫描,再执行for循环内的语句)。
代码展示:
# 列表作为for循环的迭代对象
grade_list = [45, 90, 55, 82, 68]
passed_students = 0
# 依次将grade赋值为grade_list中的元素,并且每次循环执行一次for结构体中的语句
for grade in grade_list:
if grade > 60:
passed_students += 1
print("passed_students: " + str(passed_students))
print("--------------------------")
# 字典作为for循环的迭代对象
# .keys() .values() .items()分别返回所有键,所有值以及所有键值对
relationship_list = {("张三", 1122): 17307931122,
("李四", 3344): 17307963344,
("王五", 5566): 17307935566}
print("dict keys:")
print("搜索张三信息:")
for relationship in relationship_list.keys():
# 此时relationship是relationship_list中的字典的键值(relation[0]/[1]分别是其中两个键)\
print(relationship)
relationship_name = relationship[0]
relationship_number = relationship[1]
if relationship_name == "张三":
print("张三: "+str(relationship_list[(relationship_name, relationship_number)]))
print("dict values:")
for relationship in relationship_list.values():
print(relationship)
print("dict items:")
for relationship in relationship_list.items():
print(relationship)
print("--------------------------")
# 字符串作为for循环的迭代对象
python_test = "string in for loop"
# 依次将string_loop赋值为python_test字符串中的一个一个字符(将字符串看作是一个字符数组即可)
for string_loop in python_test:
print(string_loop)
print("--------------------------")
# range作为for循环的迭代对象
# range(a,b,c)依次输出a~b-1的数,其中c为步长,默认情况下为1
# 求和公式:
number_total = 0
print("1~100相加运算:")
for number in range(1,101):
number_total += number
print("result: " + str(number_total))
1.字典方法:keys()返回所有键 .values()返回所有值 .items()返回所有键值对。
2.range(a,b)表示整数数列,a代表起始值(起始值默认为0),b代表结束值,并且结束值b不在序列中(range(1,4)/range(4) 会依次输出1,2,3这三个数),range(a,b,c)则表示在(a,b)这个范围内,每次跳转的步长为c(不指明时默认步长为1)。
for循环和while循环的比较:
1.for循环一般用于有明确的循环对象和循环次数时
2.while循环一般用于不明确循环次数时
代码展示:
一直进行输入操作并计算所有输入数的平均值,直到条件为假,在此程序中即为当输入为'q'时:
content_input = input("请输入任意字符进入平均数计算程序,输入'q'退出程序:")
total = 0
counts = 0
num = 0
while content_input != 'q':
num = int(input("请输入一个数字:")) # 输入的为字符串,需要转为int数据类型值
total += num
counts += 1
content_input = input("请输入任意字符进入平均数计算程序,输入'q'退出程序:")
print("average: " + str(total/counts))
1.format方法:
代码展示:
# format方法:
# eg1:
year = "2023"
name = "AFish"
message_content = """
金{0}贺岁,欢乐祥瑞。
金{0}敲门,五福临门。
给{1}及家人拜年啦。
""".format(year, name)
print(message_content)
# 中括号中的0,1分别代表format中的第一个,第二个参数
year1 = "2024"
name1 = "GodFishhh"
message_content1 = """
金{content_year}贺岁,欢乐祥瑞。
金{content_year}敲门,五福临门。
给{content_name}及家人拜年啦。
""".format(content_year=year1, content_name=name1)
print(message_content1)
# 在{ }中的参数后加上 :.nf 意为保留n为小数
# eg2:
gpa_dict = {"张三": 3.54, "李四": 3.42, "王五": 3}
for name, gpa in gpa_dict.items():
# 此时 name对应键 gpa对应值
# 若是name,gpa in gpa_dict则根据字典中的键依次对应,此字典中的键为长度为二的字符串
# 所以以”张三“为例子,name会被赋值为"张",gpa会被赋值为"三"
print("{0},您当前的绩点为{1:.2f}".format(name, gpa))
2.f-字符串:
# f-方法:
# eg1:
year = "2024"
name = "GodFishhh"
message_content = f"""
金{year}贺岁,欢乐祥瑞。
金{year}敲门,五福临门。
给{name}及家人拜年啦。
"""
print(message_content)
# 在{ }中的参数后加上 :.nf 意为保留n为小数
# eg2:
gpa_dict = {"张三": 3.54, "李四": 3.42, "王五": 3}
for name, gpa in gpa_dict.items():
# 此时 name对应键 gpa对应值
# 若是name,gpa in gpa_dict则根据字典中的键依次对应,此字典中的键为长度为二的字符串
# 所以以”张三“为例子,name会被赋值为"张",gpa会被赋值为"三"
print(f"{name},您当前的绩点为{gpa:.2f}")