【科学计算语言】实验三 Python复杂数据类型

news2025/2/1 9:00:35

【目的和要求】

(1)掌握Python语言中的组合数据类型

(2)掌握列表、元组、字典、集合及字符串的基本应用

(3)熟练运用有关序列操作的Python内置函数

【实验准备】

【实验内容】

1. 实验练习:掌握字典相关方法

更新或添加元素:dict1[key] = value

例如:

items():变量解包:即将字典转化为键、值作为元组的列表

例如:

keys();键列表

例如:

values():值列表

例如:

has_key():判断是否存在某个键,返回结果true 或false

例如:

del 删除元素:调用python自身函数删除

例如:

len():取得字典中键值对个数

例如:

update():在原字典上合并字典,键相同时会被覆盖。

例如:

get():取得某个键对应的值

例如:

pop():弹出指定键对应的值

popitem():随机弹出键值对

clear():清除所有元素

例如

字典的遍历:

2.实验练习:集合相关方法:

len():元素个数

例如:

add():添加元素

例如:

remove():删除元素

例如:

update():合并集合

例如:

pop():随机弹出某个元素

例如:

集合关系操作

s|t:s和t的并集

例如:

s&t:s和t的交集

例如:

s-t:求差集,存在于s集合而不存在于t集合中的

例如:

s^t:求对称差集

例如:

3. 下表是某商品销售价目表:

品名

     单价(元)

王老吉凉茶

       4

    可口可乐

       3

脉动

       6

   统一方便面

       5

 火腿肠

2.5

运用Python序列结构设计一个字典,要求所有商品调整价格(8折),输出新价格。

‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬4. 利用random随机函数库生成一个20个元素的整数列表,编程实现如下功能操作:

  1. 返回并输出索引为6的元素;
  2. 求列表数据中的最大值、最小值和平均值;
  3. 在索引为8的位置增加一个数据68

调整商品价格的Python代码:

# 商品价格字典

price_dict = {

    '王老吉凉茶': 4,

    '可口可乐': 3,

    '脉动': 6,

    '统一方便面': 5,

    '火腿肠': 2.5

}

# 打折率

discount_rate = 0.8

# 调整商品价格

discounted_prices = {item: price * discount_rate for item, price in price_dict.items()}

# 输出新价格

for item, new_price in discounted_prices.items():

    print(f"{item}的新价格为:{new_price}")

利用random库生成列表并进行操作的Python代码:

import random

# 生成随机整数列表

random_list = [random.randint(1, 100) for _ in range(20)]

# 返回并输出索引为6的元素

element_at_index_6 = random_list[6]

print(f"索引为6的元素为:{element_at_index_6}")

# 求列表数据中的最大值、最小值和平均值

max_value = max(random_list)

min_value = min(random_list)

average_value = sum(random_list) / len(random_list)

print(f"最大值:{max_value}")

print(f"最小值:{min_value}")

print(f"平均值:{average_value}")

# 在索引为8的位置增加一个数据68

random_list.insert(8, 68)

# 输出修改后的列表

print("修改后的列表:", random_list)

思考题:

列表和元组的区别:

  1. 可变性
    • 列表(List)是可变的,可以通过索引修改、添加或删除元素。
    • 元组(Tuple)是不可变的,一旦创建就不能被修改,无法添加、删除或修改元素。
  2. 语法表示
    • 列表使用方括号 [] 表示,如 [1, 2, 3]
    • 元组使用圆括号 () 表示,如 (1, 2, 3)
  3. 性能
    • 由于元组是不可变的,其在迭代和访问元素时可能比列表稍微更快。

Python中适用于序列操作的一些内置函数:

  1. len(sequence) - 返回序列的长度。
  2. max(sequence) - 返回序列的最大值。
  3. min(sequence) - 返回序列的最小值。
  4. sum(sequence) - 返回序列所有元素的和。
  5. sorted(sequence) - 返回一个排序后的新列表,不修改原始序列。
  6. reversed(sequence) - 返回一个反向的迭代器,可以用来反向遍历序列。
  7. enumerate(sequence) - 返回一个包含索引和元素的枚举对象。
  8. zip(sequence1, sequence2, ...) - 将多个序列中对应的元素打包成元组,返回一个包含这些元组的新列表。

i

       s=s+z

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

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

相关文章

SpringIOC之MethodBasedEvaluationContext

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

三个月真的可以学会自动化测试吗?不是骗局把?

三个月可以学会,但是想要达到精通还需更多的时间。 目前行业内对于自动化测试的还是存在很多误区的,管理层为了自动化而去自动化,学习者学到最后只会用一些工具。 关于学习路线,我放在后面讲,在此之前必须先聊一下行…

【Python小知识 - 6】:QLabel设置图片

文章目录 QLabel设置图片 QLabel设置图片 from PyQt5.QtWidgets import * from PyQt5.QtGui import * import sysapp QApplication(sys.argv)window QWidget()hbox QHBoxLayout(window)# 设置标签图片 lable QLabel() lable.setPixmap(QPixmap(./img/window.png).scaled(1…

算法基础之表达整数的奇怪方式

表达整数的奇怪方式 中国剩余定理: 求M 所有m之积 然后Mi M / mi x 如下图 满足要求 扩展中国剩余定理 找到x **使得x mod mi ai**成立 对于每两个式子 都可以推出①式 即 用扩展欧几里得算法 可以算出k1,-k2和m2–m1 判无解 : 若**(m2–m1) % d ! 0** 说明该等式无解 …

分子生成工具 - ResGen 评测

ResGen 模型是浙江大学药学院侯廷军老师课题组2023年发表在nature machine intelligence期刊上文章Nature Machine Intelligence | Volume 5 | September 2023 | 1020–1030,题目为:《ResGen is a pocket-aware 3D molecular generation model based on …

OpenFeign 万字教程详解

OpenFeign 万字教程详解 目录 一、概述 1.1.OpenFeign是什么?1.2.OpenFeign能干什么1.3.OpenFeign和Feign的区别1.4.FeignClient 二、OpenFeign使用 2.1.OpenFeign 常规远程调用2.2.OpenFeign 微服务使用步骤2.3.OpenFeign 超时控制2.4.OpenFeign 日志打印2.5.O…

垃圾回收器和内存分配

垃圾回收器和内存分配策略 概述 垃圾回收(Garbage Collection)简称GC,早在Lisp还在胚胎时期时,其作者John McCarthy就思考过垃圾回收需要完成的三件事情: 哪些内存需要回收 什么时候回收 如何回收 今天的内存动态…

PHP下载安装以及基本配置

目录 引言 官网 下载 配置 1. 鼠标右键“此电脑”>“属性” 2. 打开高级系统设置 3. 打开环境变量 4. 双击系统变量中的path 5. 新建新的path 6. 将刚刚安装的位置加入环境变量 7. 检查是否安装成功 引言 PHP("PHP: Hypertext Preprocessor"…

OCC:第一个程序,对话框中显示一个BOX

1. OCC库的获取 从github上获取 gitgithub.com:tpaviot/oce.git,自己编译官网获取二进制包(获取下来的只有release 版本的,而且VS版本不一定适合自己)官网源码,然后自己编译(稍微折腾点,建议按…

【Java】IO流相关操作

目录 常见的文件操作 创建文件 得到文件信息 目录操作 IO流 FileInputStream FileOutputStream FileReader FileWriter BufferedReader BufferedWriter ObjectOutputStream ObjectInputStream InputStreamReader OutputStreamReader PrintStream PrintWriter Properties prope…

【JAVA面试题】基本类型的强制类型转换是否会丢失精度?引用类型的强制类型转换需要注意什么?

🍎个人博客:个人主页 🏆个人专栏: JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 思路 1、继承关系 2、运行时类型检查 结语 我的其他博客 前言 在Java编程中,强制类型转换是一个常见的操作&#xf…

鸿蒙应用开发ArkTS容器组件的使用

线性布局——Column/Row 线性布局是应用中最常用的布局,通过线性容器 Row 和 Column 构建 线性布局是其他布局的基础,其子元素在水平方向和垂直方向依次排列 线性布局的排列方向由所选容器组件决定,Column 容器内子元素按照垂直方向排列&a…

CSS-计数器 counter-reset、counter-increment、counter-reset

计数器 CSS的计数器通过在 content 上应用 counter() 或 counters()函数来显示计数的。其中计数器是由counter-reset和counter-increment 来进行操作的。 counter-increment 语法 counter-increment参数1:计算器名称 该标识符由不区分大小写的字母 a 到 z&#xf…

服务熔断(Hystrix)

服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“扇出”,如果扇出的链路上某个微服务的调用响应时间过长,或者不可用,对微服务A的…

智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.骑手优化算法4.实验参数设定5.算法结果6.…

Open3D 入门教程

文章目录 1、概述2、安装3、点云读写4、点云可视化 4.1、可视化单个点云4.2、同一窗口可视化多个点云4.3、 可视化的属性设置 5、k-d tree 与 Octree 5.1、k-d tree5.2、Octree 5.2.1、从点云中构建Octree5.2.2、从体素栅格中构建 Octree 6、点云滤波 6.1、体素下采样6.2、统计…

java.lang.IllegalStateException: Duplicate key

序言 最近监控扫描出我们项目的某些异常信息,报错java.lang.IllegalStateException: Duplicate key xxx,看到异常来自stream流,然后定位看了一下是某位同事的代码使用stream流把List转Map集合出现重复的key异常信息。List集合A对象来源于某个…

Python命名规范中的[单/双][前导/后缀]下划线小结

如图所示 出处 Single and Double Underscores in Python Names

「C/C++ 01」 深拷贝和浅拷贝

目录 一、概念 1. 浅拷贝 2. 深拷贝 3. 深浅拷贝问题 4. 总结 二、在C的类中实现深拷贝 1. 拷贝构造函数 中实现深拷贝 a. 自己开辟一个新空间,然后将内容拷贝到新空间 b. 借助构造函数来实现深拷贝 2. operator 中实现深拷贝 a. 自己开辟一个新空间,…

JAVA版的鸿鹄云商B2B2C:多商家入驻直播商城系统特性解析 商城免 费搭建

鸿鹄云商 b2b2c产品概述 【b2b2c平台】,以传统电商行业为基石,鸿鹄云商支持“商家入驻平台自营”多运营模式,积极打造“全新市场,全新 模式”企业级b2b2c电商平台,致力干助力各行/互联网创业腾飞并获取更多的收益。从消…