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

【目的和要求】

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

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

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

【实验准备】

【科学计算语言】实验三 Python复杂数据类型_第1张图片

【实验内容】

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

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

例如:

【科学计算语言】实验三 Python复杂数据类型_第2张图片

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

例如:

【科学计算语言】实验三 Python复杂数据类型_第3张图片

keys();键列表

例如:

【科学计算语言】实验三 Python复杂数据类型_第4张图片

values():值列表

例如:

【科学计算语言】实验三 Python复杂数据类型_第5张图片

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

例如:

【科学计算语言】实验三 Python复杂数据类型_第6张图片

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

例如:

【科学计算语言】实验三 Python复杂数据类型_第7张图片

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

例如:

【科学计算语言】实验三 Python复杂数据类型_第8张图片

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

例如:

【科学计算语言】实验三 Python复杂数据类型_第9张图片

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

例如:

【科学计算语言】实验三 Python复杂数据类型_第10张图片

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

【科学计算语言】实验三 Python复杂数据类型_第11张图片

popitem():随机弹出键值对

【科学计算语言】实验三 Python复杂数据类型_第12张图片

clear():清除所有元素

例如

【科学计算语言】实验三 Python复杂数据类型_第13张图片

字典的遍历:

【科学计算语言】实验三 Python复杂数据类型_第14张图片

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

len():元素个数

例如:

【科学计算语言】实验三 Python复杂数据类型_第15张图片

add():添加元素

例如:

【科学计算语言】实验三 Python复杂数据类型_第16张图片

remove():删除元素

例如:

【科学计算语言】实验三 Python复杂数据类型_第17张图片

update():合并集合

例如:

【科学计算语言】实验三 Python复杂数据类型_第18张图片

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

例如:

【科学计算语言】实验三 Python复杂数据类型_第19张图片

集合关系操作

s|t:s和t的并集

例如:

【科学计算语言】实验三 Python复杂数据类型_第20张图片

s&t:s和t的交集

例如:

【科学计算语言】实验三 Python复杂数据类型_第21张图片

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

例如:

【科学计算语言】实验三 Python复杂数据类型_第22张图片

s^t:求对称差集

例如:

【科学计算语言】实验三 Python复杂数据类型_第23张图片

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

你可能感兴趣的:(python,python,开发语言)