20210402

1、合并两个列表并去重:

  alist=list(map(int,input().split()))

  blist=list(map(int,input().split()))

  clist=set(alist+blist)

  print(sorted(list(clist)))

 

    map(function, iterable, …)

    1. function – 函数
    2. iterable – 一个或多个序列(可迭代对象)

  input().split():接收多个输入,用默认空格切割

  set(alist+blist):江河边列表合并并去重

  sorted():将列表排序,默认为升序reversed = False

 

2、打乱一个排序好的列表

  Random中有一个random.shuffle()方法提供了完美的解决方案。代码如下:

  x = [1,2,3,4,5,6]

  random.shuffle(x)

  print(x)

def shuffle(self, x, random=None):
    """Shuffle list x in place, and return None.
    原位打乱列表,不生成新的列表。
    Optional argument random is a 0-argument
    function returning a random float in [0.0, 1.0); 
    if it is the default None, 
    the standard random.random will be used.
    可选参数random是一个从0到参数的函数,返回[0.0,1.0)中的随机浮点;
    如果random是缺省值None,则将使用标准的random.random()。
    """
    if random is None:
        randbelow = self._randbelow
        for i in reversed(range(1, len(x))):
            # pick an element in x[:i+1] with which to exchange x[i]
            j = randbelow(i + 1)
            x[i], x[j] = x[j], x[i]
    else:
        _int = int
        for i in reversed(range(1, len(x))):
            # pick an element in x[:i+1] with which to exchange x[i]
            j = _int(random() * (i + 1))
            x[i], x[j] = x[j], x[i]

 

lambda:匿名函数
map:函数会根据提供的函数对指定序列做映射。
filter:过滤器
sorted:函数对所有可迭代的对象进行排序操作
sort:对列表排序 reverse = True 降序 , reverse = False 升序(默认)
reduce:函数会对参数序列中元素进行累积。
posted @ 2021-04-02 14:31  石头255  阅读(40)  评论(0)    收藏  举报