组合数据(Python实现)

news2024/11/18 22:29:12

一、主要目的

1.熟悉组合数据的类型。

2.掌握列表、元组、字典、集合等组合数据的创建、访问方法。

3.掌握组合数据推导式的使用方法

4.熟悉组合数据的常见应用。

二、主要内容和结果展示:

1. 使用两种方法将两个列表中的数据合并。
list1=[1,2,3]

list2=[3,4,5,6]

#方法一:

list3=list1 + list2

print(list3)

#方法二:

list1.extend(list2)

print(list1)

2.列表 list 中包含10个1~100 之间的随机整数,将列表 list 中的奇数变成它的平方,偶数变成它的立方。编程实现上述功能。
list1=list(map(int,input("请输入1~10010个不同的整数:").split()))

for i in range(0,10):

    if list1[i] % 2 == 0:

        list1[i] = list1[i] ** 3

    else:

        list1[i] = list1[i] ** 2

print(list1)

3. 列表 ist =[3,8,11,26,47],从键盘输入一个新的元素,将该元素插入列表list中,保持列表list1 中的元素有序。编程实现上述功能。
list1 = [3, 8, 11, 26, 47]

num = int(input("请输入一个新元素:"))

list1.append(num)

list1.sort()

print(list1)

4.编写一个程序,删除列表中的重复元素。
list1 = [1, 2 , 9, 10, 2, 2, 9, 7]
list2 = []
for i in list1:
    if i not in list2:
        list2.append(i)
print(list2)

5. 元组tuple 中包含20个1~10之间的随机整数,统计每个整数在元组tuple 中出现的次数。
tuple1 = (1, 3, 6, 1, 9, 4, 4, 1, 7, 5, 6, 1, 1, 0, 2, 5, 4, 7, 9, 1)

list2 = []

for i in tuple1:

    if i not in list2:

        list2.append(i)

list2.sort()

tuple2 = tuple(list2)

for j in tuple2:

    print("%d在元组中出现%d次"%(j,tuple1.count(j)))

6. 元组grade = (68, 87,83,91,93,79,68,86,66,78),按学号从小到大的顺序保存学生的成绩,

实现如下功能:

(1)输出 grade 中的第2个元素。

(2)输出 grade 中的第 3~7个元素。

(3)使用 in 查询grade 中是否包含成绩 87。

(4)调用 index()函数在grade 中查找给定成绩为 78的学生学号。

(5)调用 count() 函数查询成绩 68 在grade 中的出现次数。

(6)使用 len()函数获取 grade 中的元素个数。

grade = (68, 87, 82, 91, 93, 79, 68, 86, 66, 78)

print("grade中的第2个元素:",grade[1])

print("grade中的第3~7个元素:",grade[2:7])

if 87 in grade:

    print("grade中包含成绩87!")

else:

    print("grade中不包含成绩87!")

print("成绩为78的学生学号:",grade.index(78) + 1)

print("68在grade中出现的次数为",grade.count(68))

print("grade中元素个数为",len(grade))

7. setl ={ 2,5,9,1,3},set2= {3,6,8,2,5},调用集合操作符或函数完成以下功能:

(1)向 set1 中添加一个新的元素7。

(2)求set1 和set2 的并集。

(3)求 setl 和set2 的交集。

(4)求 setl 和 set2 的差集。

(5)判断给定关键字key=4 是否在set1 或 set2中

set1 = {2, 5, 9, 1, 3}

set2 = {3, 6, 8, 2, 5}

set1.add(7)

print(set1)

set1.remove(7)

print(set1 | set2)

print(set1 & set2)

print(set1 - set2)

if 4 in (set1 | set2):

    print("关键字4在set1或set2中!")

else:

    print("关键字4不在set1或set2中!")

8.计算小明一天的生活费用,包括“早餐” 费用、“中餐” 费用、“晚餐”费用、“其他费用”等。给这些费用设定合理的值,并计算费用总和。

money = {"早餐":10, "中餐":25, "晚餐":25, "其他费用":10}

sum = 0

for n in money.values():

    sum += n

print("小明一天的费用总和为",sum)

9.将某班学生的《Python 程序设计》这门课程的成绩保存在字典中,学号为键(key),分数为值(value)。实现如下功能:

(1)向字典中添加学生成绩。

(2)修改字典中指定学生成绩。

(3)刪除指定学生成绩。

(4)杳询指定学生成绩。

(5)统计学生成绩,如最高分、最低分、平均分等。

score = {1:30, 2:99, 3:60, 4:88}

print("学生的学号及对应成绩为:",score)

score[5] = int(input("添加学生5的成绩为:"))

print("学生的学号及对应成绩为:",score)

n, student = map(int,input("指定学生学号及修改后成绩:").split())

score[n] = student

print("学生的学号及对应成绩为:",score)

n = int(input("指定学生学号删除成绩:"))

del score[n]

print("学生的学号及对应成绩为:",score)

n = int(input("指定学生学号查询成绩:"))

print("学生成绩为:",score[n])

print("学生的成绩的最高分、最低分、平均分
为:",max(score.values()),min(score.values()),sum(score.values())/4)

四、心得体会

通过这次实验,我对Python中的组合数据类型有了更深入的理解和应用。我学习了列表、元组、字典和集合这几种组合数据类型的创建和访问方法,同时也掌握了它们的一些常用操作,比如列表的合并、元组的计数、字典的键值操作和集合的集合运算等。

在实验过程中,我发现列表非常适合用于存储可以修改的数据序列,而元组则适合存储不需要修改的数据序列。字典是一个非常强大的数据结构,它提供了映射关系的存储方式,这对于需要键值对应的数据处理非常有用。集合则提供了一种存储无序唯一元素的方法,它的集合操作对于数学问题的求解或者数据去重非常有帮助。

此外,我学习了数据推导式的使用方法,这是一种非常简洁的数据生成方法,可以用更少的代码来完成复杂的数据处理。通过这种方法,我能够更有效率地编写代码,提高编程工作的效率。

在应用方面,我意识到组合数据类型在数据处理、存储和算法实现中的重要性。无论是在学术研究还是在工业实践中,这些数据结构都是不可或缺的工具。通过本次实验,我不仅提高了编程技能,而且提升了解决问题的能力。

总体来说,这次实验让我对Python语言中组合数据类型有了更加全面的了解,我相信这将对我的未来学习和工作产生积极的影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1362912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二手买卖、废品回收小程序 在app.json中声明permission scope.userLocation字段 教程说明

处理二手买卖、废品回收小程序 在app.json中声明permission scope.userLocation字段 教程说明 sitemapLocation 指明 sitemap.json 的位置;默认为 ‘sitemap.json’ 即在 app.json 同级目录下名字的 sitemap.json 文件 找到app.json这个文件 把这段代码加进去&…

每日一题——LeetCode997

方法一 个人方法: 这题的意思就是1-n里面找到一个数,它不指向任何数,其他数都要指向它 找到没有指向任何数的那个idx,如果不存在这样的数那么就返回-1如果找到了这样的数,还要继续判断其它的所有数是否都指向它&…

斯坦福家用机器人开源项目

模仿学习在机器人技术领域取得了显著进展,它通过学习人类的演示来完成任务,并展示出了令人印象深刻的表现。然而,目前的研究大多集中在桌面操作上,缺乏实现通用移动性和灵活性所需的关键要素。 在这项研究中,开源项目…

chatglm部署问题

问题: ModuleNotFoundError: No module named ‘transformers_modules.’ 解决方法: 卸载重装 pip uninstall transformerspip install transformers -i https://mirror.baidu.com/pypi/simple

PySimpleGUI图形界面实例|PDF表格转换Excel文件

目录 实例要求 原始文件 输出文件 运行界面 完整代码 代码分析 遍历表格 布局界面 控件简介 写入表格 事件循环 实例要求 使用PySimpleGUI做一个把单位考勤系统导出的pdf文件合并输出Excel的应用,故事出自: https://hannyang.blog.csdn.net…

应用OpenCV绘制箭头

绘制箭头函数 方法:函数cv2.arrowedLine( ) 语法格式:cv2.arrowedLine(img, pt1, pt2, color[, thickness[, line_type[, shift[, tipLength]]]]) 参数说明: img:要画的直线所在的图像,也称为画布。。 pt1&#x…

Python从入门到网络爬虫(MySQL链接)

前言 在实际数据分析和建模过程中,我们通常需要从数据库中读取数据,并将其转化为 Pandas dataframe 对象进行进一步处理。而 MySQL 数据库是最常用的关系型数据库之一,因此在 Python 中如何连接 MySQL 数据库并查询数据成为了一个重要的问题…

【数据库】聊聊常见的索引优化-上

数据库对于现有互联网应用来说,其实是非常重要的后端存储组件,而大多数系统故障都是由于存储所导致的,而数据库是重中之重,所以为了比较好掌握SQL的基本优化手段,打算用两篇文章从基本的联合索引优化、group by/order …

Transformer-MM-Explainability

two modalities are separated by the [SEP] token,the numbers in each attention module represent the Eq. number. E h _h h​ is the mean, ∇ \nabla ∇A : ∂ y t ∂ A {∂y_t}\over∂A ∂A∂yt​​for y t y_t yt​ which is the model’s out…

动态编译 - Dynamically Compile and Load External Java Classes

文章目录 概述Code 概述 动态编译和加载外部Java类的核心流程可以概括为以下几个步骤: 读取源代码: 首先,需要获取到外部的Java源代码。这通常是通过读取文件、网络资源或者数据库中的源代码字符串来实现的。编译源代码: 接下来,需要使用Ja…

Oracle VM VirtualBox xx needs the Micrsoft Visual C++ 2019错误

错误展示 解决方法 重修安装 Visual C 文件 1、前往官网 C 中 Windows 编程概述 | Microsoft Learn 2、找到对应的包 左边导航栏依次选择: 部署本机桌面应用程序-----重新分发Visual C 文件-----最新受支持的Visual C可再发型程序包下载 根据自己电脑系统进行选…

数据结构:树详解

创建二叉树 给出了完整的先序遍历序列,子树为空用’#’表示,所以这样我们在通过先序遍历序列创建二叉树时我们直到先序遍历序列是先进行根结点,然后左子树最后右子树的顺序进行遍历的,所以对于完整的先序遍历序列我们可以直到先序…

指定日期D的年份和月份返回日期D所在的月份:(1)第一天是星期几?(2)该月共有多少天?calendar.monthrange(year,month)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 指定日期D的年份和月份 返回日期D所在的月份: (1)第一天是星期几? (2)该月共有多少天? calendar.monthrange(…

CMU15-445-Spring-2023-Project #1 - 前置知识(lec01-06)

Lecture #01_ Relational Model & Relational Algebra Databases 数据库是相互关联的数据的有组织集合,对现实世界的某些方面进行建模。区别于DBMS(MySQL、Oracle)。 Flat File Strawman 数据库以CSV文件的形式存储,并由D…

梦想家内容管理系统(Dreamer CMS)跨站请求伪造漏洞

梦想家内容管理系统(Dreamer CMS)跨站请求伪造漏洞 目标:GitHub - iteachyou-wjn/dreamer_cms: Dreamer CMS 梦想家内容发布系统采用流行的SpringBoot搭建,支持静态化、标签化建站。不需要专业的后台开发技能,会HTML就能建站&…

真核微生物基因组质量评估工具EukCC的安装和详细使用方法

介绍: GitHub - EBI-Metagenomics/EukCC: Tool to estimate genome quality of microbial eukaryotes 安装: docker: docker pull microbiomeinformatics/eukcc 推荐conda 环境: conda install -c conda-forge -c bioconda …

Jenkins修改全局maven配置后不生效解决办法、以及任务读取不同的settings.xml文件配置

一、修改Global Tool Configuration的maven配置不生效 说明:搭建好jenkins后,修改了全局的settings.xml,导致读取settings一直是之前配置的。 解决办法一 Jenkins在创建工作任务时,会读取当前配置文件内容,固定在这…

Spring+Vue实战项目环境准备跑通程序

SpringVue 源项目 后端: 首先在GitHub上克隆项目到本地(zip包下载/sourcetree拉取/gitbash克隆)。 https://github.com/songboriceman/doubao_community_backend 然后下载Lombok安装到你的IDE(eclipse)。 https://p…

【uniapp】APP打包上架应用商-注意事项

初雪云-uniapp启动图自定义生成(支持一键生成storyboard) 一、修改App端上传图片/视频 uni.uploadFile let thatthis; uni.chooseImage({count: 1,sourceType: [camera,album],sizeType: [compressed, original],success: rey > {uni.showLoading({ t…