educoder/python第1关:学习-Python集合之应用一

任务描述

本关任务:给定一个集合,使用集合的内置函数来删除集合内的非整型数据,然后将集合转换成列表并对其进行排序。

相关知识

为了完成本关任务,你需要掌握 Python 中的集合类型。

集合

Python 中的集合是用于表示一个无序且不重复的序列。集合和字典相同,是使用{}来表示的,但是集合并不是键值对。

 
  1. # 集合内的元素只能是不可变类型的数据,列表和字典不能成为集合内的元素
  2. agg = {1,"a",(1,2,3)} # 创建了一个集合
  3. print(type(agg))

执行结果:

 
  1. <class 'set'>

集合并不是不可变类型的数据,所以它可以进行增加和删除元素的操作:

  • 增加元素:add() 和 update() 两种方法。
     
      
    1. agg = {1,"a",(1,2,3)}
    2. # add()可以在集合中任意位置添加单个元素,如果添加的元素在集合中已存在,则集合不发生改变
    3. agg.add("b")
    4. print(agg)
    执行结果:
     
      
    1. {1, 'a', 'b', (1, 2, 3)}
     
      
    1. agg = {1,"a",(1,2,3)}
    2. # update()可以在集合中添加单个或多个元素
    3. agg.update("b")
    4. print(agg)
    5. agg.update({4,5,6}) # 添加多个元素时,需要用集合的形式来传递参数
    6. print(agg)
    执行结果:
     
      
    1. {1, 'a', 'b', (1, 2, 3)}
    2. {1, 'a', 4, 5, 6, 'b', (1, 2, 3)}
  • 删除元素:remove() 和 discard() 两个方法。
     
      
    1. agg = {1,"a",(1,2,3)}
    2. # remove()传入的参数为想要删除的元素,如果该元素在集合中不存在,代码将报错
    3. agg.remove("a")
    4. print(agg)
    执行结果:
     
      
    1. {1, (1, 2, 3)}
    使用 discard() 删除元素的方法与 remove() 一致,两者的区别在于,discard() 删除元素时,如果元素在集合中不存在,代码也不会报错。

已知字典和集合使用的是同样的符号表示,那么我们使用x = {}创建的是一个空集合还是一个空字典呢?这样创建的是一个空字典,如果我们想要创建一个空集合时,我们需要使用到 set() 来创建一个空集合。

 
  1. agg = set()
  2. print(agg)
  3. print(type(agg))

执行结果:

 
  1. set()
  2. <class 'set'>

set() 还可以将其它可迭代类型的数据转换成集合。

 
  1. list1 = [1,2,3,4]
  2. agg = set(list1)
  3. print(agg)

执行结果:

 
  1. {1, 2, 3, 4}

集合的所有内置方法如下表所示。

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除两个集合都包含的元素
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集,intersection() 方法是返回一个新的集合,而 intersection_update() 方法是在原始的集合上移除不重叠的元素。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False;调用方法:set1.issubset(set2),set1 和 set2 分别表示 2 个不同的集合
issubset()判断指定集合是否为该方法参数集合的子集;调用方法:set1.issubset(set2),set1 和 set2 分别表示 2 个不同的集合
issuperset()判断该方法的参数集合是否为指定集合的子集;调用方法:set1.issuperset(set2),set1 和 set2 分别表示 2 个不同的集合
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
union()返回两个集合的并集
update()给集合添加元素

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。输出格式请参考测试集中的预期输出。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧 “测试结果”区查看具体的测试集详情。


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

"""
任务:给定一个列表,利用集合的性质以及它的内置函数来对列表进行去重,打印去重后的列表。
"""

list1 = [453,5,3,4,5,5,7,6,77,87,8,89,78,78,86,78,56,75,623,4523,45,234,778,9,78,989,0,8,98,68,67,856,7,46,45,6]
 
# 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
##########Begin##########
# 利用集合的性质以及它的内置函数来对列表进行去重,打印去重后的列表
set1=[]
a=set(list1)
for i in a:
    set1.append(i)
print(set1)
##########End##########

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值