利用列表推导式生成包含数字元素的两个随机列表,将两列表整合并转换为集合,判断在转换过程中是否合并了重复元素,并按"重复元素:重复次数"的键值对形式将信息保存为字典进行显示
该回答引用chatgpt:
import random
# 生成两个随机列表
list1 = [random.randint(1, 10) for _ in range(10)]
list2 = [random.randint(1, 10) for _ in range(10)]
# 将两个列表合并为一个集合
set1 = set(list1 + list2)
# 判断是否有重复元素,并统计重复次数
dict1 = {}
for elem in set1:
if list1.count(elem) + list2.count(elem) > 1:
dict1[elem] = list1.count(elem) + list2.count(elem)
# 输出结果
print("列表1:", list1)
print("列表2:", list2)
print("合并后的集合:", set1)
print("重复元素:重复次数", dict1)
这段代码首先使用列表推导式生成两个随机列表,然后将它们合并为一个集合。然后,遍历集合中的每个元素,判断它在两个列表中出现的次数是否大于1,如果是,则将其添加到字典中,并记录重复次数。最后,输出两个随机列表、合并后的集合和重复元素的信息。
import random
from collections import Counter
# 生成两个随机列表
nums1 = [random.randint(1, 10) for _ in range(10)]
nums2 = [random.randint(1, 10) for _ in range(10)]
# 将两个列表合并为一个集合
set1 = set(nums1 + nums2)
# 判断是否有重复元素,并统计重复次数
result = dict( Counter( nums1 + nums2 ) )
repeat_ele = { k:v for k,v in result.items() if v > 1 }
# 输出结果
print("列表1:", nums1)
print("列表2:", nums2)
print("合并后的集合:", set1)
print("重复元素:重复次数", repeat_ele)
输出仅一行包含 666 个字符。
保证字符 ∈ 3 4 5 6 7 8 9 10 J Q K A 2
。
生成两个随机列表并将其整合成集合的代码如下:
import random
list1 = [random.randint(0, 10) for i in range(10)] # 生成10个0-10的随机数的列表
list2 = [random.randint(0, 10) for i in range(10)]
set1 = set(list1 + list2) # 将两个列表相加得到整合后的列表,再将其转换为集合
判断其中的重复元素并将它们的出现次数保存在字典中的代码如下:
dict1 = {}
for num in set1:
if list1.count(num) + list2.count(num) > 1: # 如果该数在两个列表中出现次数大于1,则说明是重复元素
dict1[num] = list1.count(num) + list2.count(num) # 将重复元素以及其出现次数加入字典中
其中,list.count(num)表示在列表list中数值num出现的次数。