Python程序设计实例 | set集合

举报
TiAmoZhang 发表于 2023/09/08 14:24:52 2023/09/08
【摘要】 * 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提

640.png

01、set集合的应用实例

【例1】编写程序,产生15个1~9的数字存放于列表中并显示,再将列表中重复的元素去除后显示。

提示:可以使用random模块中的randint(min,max)函数每次生成一个位于[min,max]区间内的随机整数。

程序源代码如下:

#example1.py
#coding =utf -8
import random
numbers=[]
for i in range(15):
n = random.randint(1,9)
numbers.append(n)
print("产生的15 个数:”,numbers)
temp =list(set(numbers))
print("去重后:",temp)

程序example1.py可能的一次运行结果如下

========= RESTART: G: example1.py ============-=产生的 15 个数:[3,4,9,8,7,4,3,9,7,3,3,7,9,1,2]去重后:[1,2,3,4,7,8,9]

思考: 这样编写程序,去重后次序发生了改变,如果需要不改变列表次序,程序该如何编写?

程序源代码如下:

#question1-1.py
#coding =utf-8
import random
numbers=[]
for i in range(15):
n = random.randint(1,9)
numbers.append(n
print("产生的15 个数:",numbers)
temp = list(set(numbers))
temp.sort(kev = numbers.index)
print("去重后不改变次序:”,temp)

程序question1-1.py可能的一次运行结果如下:

============ RESTART: G: question1-1.py ============
产生的 15 个数:[7,9,9,1,3,1,5,6,7,6,9,7,3,6,2]去重后不改变次序:[7,9,1,3,5,6,2]
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。