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]