Python之组合数据类型(列表、元组、集合、字典)

我是傻逼

反正没人看


任务描述

本关任务:熟悉字典的相关知识,了解字典的使用。

相关知识

为了完成本关任务,你需要掌握:1.字典的定义,2.字典的相关操作。

字典的定义

字典是 Python 最强大的数据类型之一,通过键-值(key-value)对的方式建立数据对象之间的映射关系。

字典的每个键-值对用冒号:分割,每个键-值对间用逗号,分隔开,字典是包含在{}中。

每个都与一个值相关联,我们可以使用键来访问与之相关联的值。与相关联的值可以是数字、字符串、列表乃至字典。

事实上,可将任何 Python 对象用作字典中的值。

字典的相关操作

  • 字典的创建

字典的创建格式如下所示:

d = {key1 : value1, key2 : value2 }

必须是唯一的,但值则不必。

值可以取任何数据类型,但必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

  1. >>> dict = {'Alice': '2341', 'Beth': '9102'}
  2. >>> print(dict)
  3. {'Alice': '2341', 'Beth': '9102'}
  • 访问字典中的值

要获取与相关联的值,可依次指定字典名和放在方括号内的。我们访问列表等其他类型是通过方括号[]内添加索引位置的形式,这里字典我们把索引位置用字典中的键(key)来代替。

把相应的键放入到方括号中(name[key]):

  1. >>> dict = {'Name': 'Runoob', 'Age': 7}
  2. >>> print ("dict['Name']: ", dict['Name'])
  3. dict['Name']: Runoob
  4. >>> print ("dict['Age']: ", dict['Age'])
  5. dict['Age']: 7
  • 添加元素(键-值对)

字典是一种动态数据结构,可随时在字典中添加键—值对。要添加键—值对时,可依次指定字典名、对应的值。

下面在字典menu中添加两道菜的菜名和价格:

  1. >>> #coding=utf-8
  2. #创建并初始化menu字典
  3. >>> menu = {'鱼':40, '猪肉':30, '番茄':15, '拉面':10}
  4. #向menu字典中添加菜名和价格
  5. >>> menu['果汁'] = 12
  6. >>> menu['煎蛋'] = 2
  7. ######输出新的menu
  8. >>> print(menu)
  9. {'鱼': 40,'猪肉': 30,'番茄': 15,'拉面': 10, '果汁': 12,'煎蛋': 2}

新的menu字典包含6键-值对,新增加的两个键-值对(菜名和对应价格)添加在了原有键-值对的后面,注意字典中键-值对的排列顺序和添加顺序没有必然联系,Python 不关心字典中键-值对的排列顺序,而只关心键与值得对应关系。

同理,字典和列表一样,可以先创建一个空字典,然后可以不断向里面添加新的键-值对。

  • 修改字典中的值

字典和列表一样,里面的值都是可以修改的。要修改字典中的值,可直接指定字典中的键所对应的新值。例如,将menu中的fish价格改为50

  1. >>> #coding = utf-8
  2. #创建并初始化menu字典
  3. >>> menu = {'鱼':40, '猪肉':30, '番茄':15, '拉面':10}
  4. # 修改menu字典中菜fish的价格
  5. >>> menu['鱼'] = 50
  6. # 打印输出新的menu
  7. >>> print(menu)
  8. {'鱼': 50, '猪肉': 30, '番茄': 15, '拉面': 10}
  • 删除键-值对

我们可以通过del方法删除字典中不需要的键-值对,使用del方法时,要指定字典名和要删除的

例如,在menu菜单中删除键noodles和它的值。

  1. ###### 创建并初始化menu字典
  2. >>> menu = {'鱼':40, '猪肉':30, '番茄':15, '拉面':10}
  3. ###### 删除noodles键值对
  4. >>> del menu['拉面']
  5. ###### 打印输出新的menu
  6. >>> print(menu)
  7. {'鱼':40, '猪肉':30, '番茄':15}

编程要求

请仔细阅读右侧代码,结合相关知识,在 Begin-End 区域内进行代码补充,完成字典的相关操作。

测试说明

本关的测试文件是src/step3/dict.py,测试过程如下:

平台自动编译并运行dict.py,并获取相应的输出。 平台将程序输出与预期输出对比。如果一致则测试通过,否则测试失败。


开始你的任务吧,祝你成功!

第1关:列表及操作

#coding = utf-8
#********* Begin *********#
#第一步 请在列表fruit中找出不属于水果一类元素,赋值给变量 a
fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
a = "黄瓜"

    
#第二步 将变量 a 的值添加到列表vegetable 的末尾
vegetable = ["土豆","萝卜","茄子","白菜"]
vegetable.append(a)



#第三步 删去列表fruit中不属于水果的元素
fruit.pop(3)



#第四步 将列表fruit和列表vegetable作为元素按顺序加入到列表food中
food = []
food.append(fruit)
food.append(vegetable)


#最后打印输出列表food,打印输出列表food中第1个元素的第3个元素
print(food)
print(food[0][2])
#********* End *********#

第2关:元组及操作

#coding = utf-8
#********* Begin *********#
#第一题  列表和元组相互转换,修改元组中的数据

#第一步  将元组 fruit 转换为一个名为 fruit 的列表并打印输出
fruit = ("苹果","梨子","菠萝","黄瓜","香蕉")
fruit = list(fruit)
print(fruit)


#第二步  在上一步得到的列表 fruit 通过索引位置将"黄瓜"去掉并打印输出


fruit.pop(3)
print(fruit)

#第三步  将上一步的到的列表 fruit 转换为元组并打印输出

fruit = tuple(fruit)
print(fruit)


#第二题  通过元组的嵌套修改元组中的数据

#第一步  创建元组 food 将列表 fruit 和 vegetable 放入其中并打印输出元组food

fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
vegetable = ["土豆","萝卜","茄子","白菜"]
food = (fruit,vegetable)
print(food)

#第二步  打印输出上一步得到的元组 food 的第一个元素(列表fruit)

print(food[0])

#第三步  通过索引位置去掉元组 food 的第一个元素(列表fruit)的"黄瓜"
food[0].pop(3)


print(food[0])          #打印输出列表 food 的第一个元素

#第四步  打印输出元组 food 

print(food)
#********* End *********#

第3关:集合及操作

# -*- coding: utf-8 -*-
#********* Begin *********#
#第一步 请将列表fruit转换为一个集合
fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
fruit = set(fruit)


#第二步 将集合fruit中的“黄瓜”去掉
#fruit.pop(3)妈的报错
fruit.remove("黄瓜")

#第三步 使用"in"判断"黄瓜"是否在fruit中,将判断结果打印输出

print("黄瓜" in fruit)


#第四步 创建空集合food,输出集合food的长度
food = set()

print(len(food))

#第五步 将fruit和vegetable合并到food并输出此时food的长度

vegetable = {"土豆","萝卜","茄子","白菜"}
food = fruit | vegetable
print(len(food))
#********* End *********#

第4关:字典及操作

# -*- coding: utf-8 -*-
#********* Begin *********#
#第一步 创建一个空字典 menu


#第二步 将列表fruit中水果与prices中的价格对应给menu赋值并输出
fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
prices = [2,3,10,2,1]
menu = dict(zip(fruit,prices))
print(menu)

#第三步 将20块钱的"哈密瓜"添加到字典menu中并输出
menu["哈密瓜"] = 20
print(menu)

#第四步 将"黄瓜"从menu中去掉并输出
menu.pop("黄瓜")
print(menu)

#第五步 将菠萝的价格修改为9.9,打印输出menu
menu["菠萝"] = 9.9
print(menu)
#********* End *********#

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Python 作为一门面向对象的编程语言,支持许多不同的数据类型,这些数据类型可以分为四个主要的类别:列表(list)、元组(tuple)、集合(set)和字典(dictionary)。 1. 列表(list) 列表是一组有序的元素,可以包含任何数据类型列表用方括号([])表示,元素之间用逗号(,)隔开。列表是可变的,可以添加、删除或更改其中的元素。 例如,下面是一个包含三个元素的列表: ``` my_list = [1, 'hello', 3.14] ``` 2. 元组(tuple) 元组是一组有序的元素,可以包含任何数据类型元组用小括号(())表示,元素之间用逗号(,)隔开。元组是不可变的,不能添加、删除或更改其中的元素。 例如,下面是一个包含三个元素的元组: ``` my_tuple = (1, 'hello', 3.14) ``` 3. 集合(set) 集合是一组无序的元素,不包含重复元素。集合用大括号({})表示,元素之间用逗号(,)隔开。集合是可变的,可以添加或删除其中的元素。 例如,下面是一个包含三个元素的集合: ``` my_set = {1, 'hello', 3.14} ``` 4. 字典(dictionary) 字典是一组无序的键值对(key-value)。键(key)必须是唯一的,值(value)可以是任何数据类型字典用大括号({})表示,键值对之间用冒号(:)隔开,键值对之间用逗号(,)隔开。字典是可变的,可以添加、删除或更改其中的键值对。 例如,下面是一个包含三个键值对的字典: ``` my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'} ``` ### 回答2: Python是一种优秀的编程语言,它有许多强大的特性,其中最重要的就是它的组合数据类型Python提供了四种不同类型的组合数据类型,分别是列表元组集合字典。这四种类型都具有不同的特点和优劣,可以满足不同的编程需求。 1. 列表(List) 列表Python中最常用的数据类型之一。它可以同时存储不同类型的数据,是一种非常灵活的数据结构。列表中的元素是可变的,从而可以轻松添加、删除和修改元素。列表支持切片操作和排序,可以按照需要对列表进行排序和切片,从而实现不同的操作。列表通常用于存储一组相关的数据,比如记录用户信息或电影列表等。 2. 元组(Tuple) 元组列表非常类似,不同之处在于元组的元素是不可变的。因此,元组是一种更加安全和高效的数据结构,一旦定义了元组,就无法对其进行修改。元组通常用于存储一些不需要被修改的常量数据,比如程序的配置信息或者一组固定的坐标。 3. 集合(Set) 集合是一种不重复的序列,它可以用于去重和数学方面的操作。集合不支持索引和切片,因为其元素是无序的。但是它具有快速的查找和去重功能,适用于对某些数据进行去重和求交集、并集等数学操作。 4. 字典(Dictionary) 字典Python中的一种映射数据类型,它可以用键值对的形式存储数据。与列表一样,字典也是可变的,可以添加、删除和修改其中的元素。字典通常用于存储一些关联数据,比如账户名和密码等。 总之,列表元组集合字典Python中最常用的四种组合数据类型,它们都具有不同的特点和优劣,可以满足不同的编程需求。程序员需要根据具体的任务需求和数据类型的特点选择合适的组合数据类型进行编程。 ### 回答3: Python中有四种重要的组合数据类型列表元组集合字典。它们分别有不同的特点和用法,下面分别进行详细介绍。 1. 列表列表Python中最常用的数据结构之一,它可以包含任意类型的数据,并且可以通过位置索引来访问每一个元素。列表可以增加、删除、修改其中的元素,可以进行排序、反转等操作,是非常实用的组合数据类型。例如: ```python # 创建一个列表 list1 = [1, 2, 3, 4] # 访问列表中的元素 print(list1[0]) # 输出1 # 修改列表中的元素 list1[1] = 5 print(list1) # 输出[1, 5, 3, 4] ``` 2. 元组元组是一种不可变的序列,它和列表很像,但是元组中的元素不能被修改。因此,元组在一些不希望被修改的场景下比较常用,例如函数返回多个值时可以使用元组元组也可以通过位置索引来访问其中的元素。例如: ```python # 创建一个元组 tuple1 = (1, 2, 3, 4) # 访问元组中的元素 print(tuple1[0]) # 输出1 # 尝试修改元组中的元素,会报错 tuple1[1] = 5 # TypeError: 'tuple' object does not support item assignment ``` 3. 集合集合是由一些唯一的、不可变的元素组成的,它可以进行交集、并集、差集等操作,非常适合用来进行数学运算。集合中的元素是没有顺序的,因此不能通过位置索引来访问其中的元素。例如: ```python # 创建一个集合 set1 = {1, 2, 3, 4} # 添加一个元素 set1.add(5) print(set1) # 输出{1, 2, 3, 4, 5} # 计算两个集合的交集 set2 = {3, 4, 5, 6} print(set1 & set2) # 输出{3, 4, 5} ``` 4. 字典字典是一种由键值对组成的映射表,它可以通过键来访问值。字典中的键必须是不可变的,例如字符串、数字等类型,而值可以是任意类型的数据。字典用于表示一些复杂的数据结构,例如关系型数据库中的表。例如: ```python # 创建一个字典 dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'} # 访问字典中的值 print(dict1['name']) # 输出Tom # 修改字典中的值 dict1['age'] = 21 print(dict1) # 输出{'name': 'Tom', 'age': 21, 'gender': 'male'} ``` 以上就是Python中四种组合数据类型的详细介绍,它们可以满足不同的需求,学会灵活运用这些数据类型,可以提高我们编程的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静待花开︳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值