数据的迭代(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}




转载于:https://www.cnblogs.com/wangjiale1024/p/10287370.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据迭代查询作业 emp(eno, ename, salary, mgr),其中mgr是员工领导,设计约束:要求领导的工资不能低于他的下属平均工资。(注意,这是一个递归查询) 下面是一些样例数据 CREATE TABLE dbo.Employees ( empid INT NOT NULL PRIMARY KEY, mgrid INT NULL REFERENCES dbo.Employees, empname VARCHAR(25) NOT NULL, salary MONEY NOT NULL, CHECK (empid mgrid) ); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(1, NULL, 'David', $10000.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(2, 1, 'Eitan', $7000.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(3, 1, 'Ina', $7500.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(4, 2, 'Seraph', $5000.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(5, 2, 'Jiru', $5500.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(6, 2, 'Steve', $4500.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(7, 3, 'Aaron', $5000.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(8, 5, 'Lilach', $3500.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(9, 7, 'Rita', $3000.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(10, 5, 'Sean', $3000.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(11, 7, 'Gabriel', $3000.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(12, 9, 'Emilia' , $2000.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(13, 9, 'Michael', $2000.00); INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES(14, 9, 'Didi', $1500.00);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值