数据的迭代(1.1)

Posted wangjiale1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据的迭代(1.1)相关的知识,希望对你有一定的参考价值。



列表

  1. filter + lambda函数
   >>> import random
   >>> l1 = [random.randint(-10, 10) for i in range(10)]
   >>> print(l1)
   [3, 8, -5, 4, -4, -5, -7, -8, -6, -7]
   >>> print(list(filter(lambda x: x>0, l1)))
   [3, 8, 4]
  1. 迭代器
  >>> print([x for x in l1 if x>0])
  [3, 8, 4]

集合

  1. 迭代器

    >>> s1 = set(random.randint(-10, 10) for i in range(10))
    >>> print(s1)
    {-10, -5, -1, 0, 3, 8, 9}
    >>> print({x for x in s1 if x >0})
    {8, 9, 3}

字典

  • 产生随机字典

        # 产生随机字典
        letters = ‘abcdefghijklmnopqrstuvwxyz‘
        l2 = []
        l1 = [0 for i in range(len(letters))]
        d1 = {}
        for got_num in range(len(letters)):
            temp_int = random.randint(got_num+1, len(letters)) - got_num # 表示第temp_int个0,从1开始
            current_num,i  = 0, -1
            while current_num < temp_int:
                i += 1
                current_num += 1 if l1[i] == 0 else 0
            # i 就是我们要找的位置
            l2.append(i)
            l1[i] = 1
    
        d1 = {letters[x]: random.randint(-10, 10) for x in l2}
        # 打印一下
        print(d1)
  • d1的迭代

    >>> d2 = {k:v for k,v in d1.items() if v>0}
    >>> print(d2)
        {‘a‘: 9,
         ‘b‘: 3,
         ‘c‘: 5,
         ‘d‘: 10,
         ‘f‘: 3,
         ‘i‘: 8,
         ‘j‘: 2,
         ‘n‘: 5,
         ‘v‘: 1,
         ‘w‘: 10,
         ‘x‘: 3}









以上是关于数据的迭代(1.1)的主要内容,如果未能解决你的问题,请参考以下文章

如何在Django视图中使用for循环返回每次迭代[关闭]

数据的迭代(1.1)

如何在UL中迭代使用appendChild和片段LI?

web代码片段

递进迭代敏捷

day06-jsp