关于#python#的问题:函数main接受一个包含若干集合的列表lst,要求返回这些列表集合的并集

函数main接受一个包含若干集合的列表lst,要求返回这些列表集合的并集

根据集合的互异性,你只要创建一个新的集合,然后讲列表种的集合元素逐个放进去新的集合,那么最终这个新集合就是并集了,python会自动排除重复的一部分。


def main(lst):
    s = set(lst[0])
    for i in range(1, len(lst)):
        s = set.union(s, set(lst[i]))
    return s

如果觉得答案满意~请采纳

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7698443
  • 除此之外, 这篇博客: Python程序设计实验1中的 编写函数,接收一个包含若干整数的列表参数lst,返回一个元组,其中第一个元素为列表lst中的最小值,其余元素为最小值在lst中的下标。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • import random
    def get_num(lst):
        # 由于要求列表中的元素都要是整数,所以先判断元素
        t = tuple(lst)
        for i in t:
            if not isinstance(i,int):
                return 'lst中的元素 i = {}不是整数,不符合要求,请重新传入符合要求的列表'.format(i)
        #开始找列表中元素的最小值
        m = min(lst)
        #对列表做一个转换,
        l1 = list(enumerate(lst))
        #获取列表元素的下标
        l2 = []
        for tu in l1:
            if tu[1] == m:
                l2.append(tu[0])
        return (m,) + tuple(l2)
    l = list(range(1,100))
    random.shuffle(l)
    l.append(1)
    print(l)
    print(get_num(l))
    
    #方法2
    import random
    
    def demo(lst):
        m = min(lst)
        result = (m,)
        position = [index for index,value in enumerate(lst) if value == m]
        result += tuple(position)
    
        return result
    
    x = [random.randint(1,100) for i in range(50)]   #随机生成50条记录