精华内容
下载资源
问答
  • python列表求差

    2012-06-08 15:07:56
    取第一个'a'的下一个时间 和第二个 'a'的前一个时间做 第二个a的下一个时间和第三个a的前一个做 如果最后没有a 就最后的时间减倒数第一个a的下一个时间 依次类推 即time3-time2,time7-time5,time10-time9...
  • python列表求差

    千次阅读 2020-08-20 16:23:20
    列表格式: result1 = [("2020-01",21,12,12,23,34),("2020-02", 23,34,45,56,67),("2020-05",1,2,3,4,4)] result2 = [("2020-01",43,45,56,23,34),("2020-02", 23,12,23,34,45),("2020-05",12,21,31,41,14),("2020-...

    列表格式:

    result1 = [("2020-01",21,12,12,23,34),("2020-02", 23,34,45,56,67),("2020-05",1,2,3,4,4)]
    result2 = [("2020-01",43,45,56,23,34),("2020-02", 23,12,23,34,45),("2020-05",12,21,31,41,14),("2020-06",11,21,31,14,14)]
    
    or
    
    result1 = [("2020-01",21,12,12,23,34),("2020-02", 23,34,45,56,67),("2020-05",1,2,3,4,4)]
    result2 = [("2020-01",43,45,56,23,34),("2020-02", 23,12,23,34,45),("2020-05",12,21,31,41,14)]
    

    需要求result2 和result1列表各值之差。
    背景:result1的长度小于等于result2,且result1中月份一定会在result2中出现,但result2中的月份不一定存在于result1中。

    一开始的思路是判断二者长度是否相同,如果相同,代表二者出现的年月相同,不同则代表result2的值多了一些月份。

    所以写了两个方法,分别判断二者长度相同和不同的情况。

    
    def get_result_with_same_length(result1, result2):
    """二者长度相同时"""
        result_list = []
        result_all = zip(result1, result2)
        for result_1, result_2 in result_all:
            i = 0
            list_one = []
            list_one.append(result_1[i])
            while i < len(result_1) - 1:
                i += 1
                list_one.append(result_2[i] - result_1[i])
            list_one = tuple(list_one)
            result_list.append(list_one)
        return result_list
    
    def get_result_with_different_length(result1, result2):
    """二者长度不相同时"""
        result_both = []
        result_not_senguo_in = []
        result_all = result2
        result_list = []
        date_list = []
        for result_1 in result1:
            date_list.append(result_1[0])
        for date in date_list:
            for value in result2:
                if date in value[0]:
                    result_both.append(value)
                    result_all.remove(value)
        result_list_same = get_result_with_same_length(result1, result_both)
        result_list.extend(result_list_same)
        result_list.extend(result_all)
        return result_list
    
    if length1 == length2:
        result_list = get_result_with_same_length(result1,result2)
    
    if length1 != length2:
        result_list = get_result_with_different_length(result1,result2)
    
    
    

    但是这样写代码过于冗长,而且非常不友好,看起来也不简洁。

    后来决定将其转成字典,通过字典解决。

    map_result_1 = {k[0]: list(k[1:]) for k in result1}
    map_result_2 = {k[0]: list(k[1:]) for k in result2}
    for k, v in map_result_1.items():
        if k in map_result_2:
            for i in range(len(v)):
                map_result_2[k][i] -= v[i]
    result_list = []
    for k, v in map_result_2.items():
        v.insert(0, k)
        result_list.append(v)
        
    

    这里主要是学习字典的使用。

    展开全文
  • python求列表均值,方差,标准

    千次阅读 2020-04-29 00:19:03
    import numpy as np a = [1,2,3,4,5,6] #均值 a_mean = np.mean(a) ...#标准 a_std = np.std(a,ddof=1) print("平均值为:%f" % a_mean) print("方差为:%f" % a_var) print("标准为:%f" % a_std) ...
    import numpy as np 
    a = [1,2,3,4,5,6]
    #求均值
    a_mean = np.mean(a)
    #求方差
    a_var = np.var(a)
    #求标准差
    a_std = np.std(a,ddof=1)
    print("平均值为:%f" % a_mean)
    print("方差为:%f" % a_var)
    print("标准差为:%f" % a_std)
    

    其中,可以添加参数axis 如下:

    #参数0代表对每一列求值,
    #参数1代表对每一行求值,
    #无参数则求所有元素的值
    	x_mean = np.mean(x,axis = 0)
    	x_var = np.var(x,axis = 0)
    
    展开全文
  • 连续区间为公差为1的等数列。 输入: [1, 2, 99, 3, 4, 5, 6, 5, 4, 4, 2, 6, 3, 1, 8, 5, 3, 6, 1, 2, 3, 2, 3, 4, 5, 6] 输出: [2, 3, 4, 5, 6] def get_continue_seq(str_list): ls = eval(str_list) ...

    题目
    连续区间为公差为1的等差数列。
    输入:

    [1, 2, 99, 3, 4, 5, 6, 5, 4, 4, 2, 6, 3, 1, 8, 5, 3, 6, 1, 2, 3, 2, 3, 4, 5, 6]

    输出:

    [2, 3, 4, 5, 6]

    def get_continue_seq(str_list):
        ls = eval(str_list)
        len_ls = len(ls)
        index_count = {}
        for x in range(len_ls):
            key = index_count.keys()
            if key:
                diff_x1 = ls[x]-ls[x-1]
                if diff_x1==1:
                    index_count[max(key)].append(ls[x])
                else:
                    index_count[x] = [ls[x]]
            else:
                index_count[x] = [ls[x]]
        res = index_count[max(index_count, key=lambda x: len(index_count[x]))]
        return index_count
    
    str_list = input()
    print(get_continue_seq(str_list))
    
    [1, 2, 99, 3, 4, 5, 6, 5, 4, 4, 2, 6, 3, 1, 8, 5, 3, 6, 1, 2, 3, 2, 3, 4, 5, 6]
    [2, 3, 4, 5, 6]
    
    展开全文
  • sqlalchemy和flask-sqlalchemy之间的东西不是太清晰。 sqlalchemy文档太他妈多了,日。 今天遇到的实例。...首先获取满足筛选条件的用户列表: users = User.query.filter_by(school=form.school.dat

    sqlalchemy和flask-sqlalchemy之间的东西不是太清晰。

    sqlalchemy文档太他妈多了,日。


    今天遇到的实例。


    用户进行随机匹配,系统随机返回一个一定筛选条件下的用户。为了用户体验,还得去掉已关注的人。


    首先获取满足筛选条件的用户列表:

    users = User.query.filter_by(school=form.school.data, sex=form.sex.data, status=form.status.data).all()

    且要获取已关注用户列表:

    followed = g.user.followed.all()  


    重点来了,如何用第一个列表减另一个列表?没这种method,用for循环和if判断,时间复杂度应该超级大。

    所以,应该先列表转集合然后集合求差集再转列表。

    filter_users = list(set(users) - set(followed))    # 列表转集合求差集再转列表

    然后我们就要开始随机选一个用户了。找到python random模块的文档,发现choice()不错,在序列中随机选一个。

    注意,如果是空序列,会报错。

    所以,下面的代码为:

                if filter_users:
                    user = random.choice(filter_users)
                    flash(u'您匹配到的用户如下:')
                    return redirect(url_for('profile', id=user.id))
                else:
                    flash(u'啊哦,没有满足此条件的用户')    # 以后用吉祥物来表现,不要用flash
                    return render_template('match.html', form=form)



    以上。

    今天学到的东西不少,什么hash,数据结构,时间复杂度都出来了。

    屌。

    展开全文
  • sqlalchemy和flask-sqlalchemy之间的东西不是太清晰。 sqlalchemy文档太他妈多了。日。 ...用户进行随机匹配,系统随机...首先获取满足筛选条件的用户列表: users = User.query.filter_by(school=form.school...
  • python中使用numpy进行集合上的求差

    千次阅读 2020-01-14 00:09:53
    对集合上差值的方法 import numpy as np import time,random # 用来数组中差距效率 start = int(time.time()) # 生成120000大小的列表 arr1 = np.random.randint(0,100,120000) arr2 = [1001,30,60,10034] # ...
  • x0 = x[:] #千万不能用 x0 = x,[[Python] 正确复制列表的方法](https://www.cnblogs.com/ifantastic/p/3811145.html) del x0[-1] x1 = x[:] del x1[0] import numpy as np np.array(x1)-np.array(x0) #Output :...
  • 一个含偶数个元素的列表如[1,2,3,4],将其划分为两个子列表,如[1,2]和[3,4],两者分别求和然后作为(大的值减去小的值)(3+4)-(1+2)=4,但是4不是列表划分的最小差值,最小差值为(4+1)-(3+2)=0,问题就是最下...
  • 这里写自定义目录标题摘要新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants...
  • 来一个跳出for循环的整数依赖,可以公差为小数的等数列Python算法 下面是前几天,我朋友给我整的题。拿到题我就开始有些蒙圈了,哈哈,毕竟我递归不太行 简述一下我的算法思路吧 我们可以首先将输入的无序的等...
  • 关注走一走,考研985 编程任务是补全src/Step3/numbers_square.py文件的代码内容,实现如下功能: ...step3:列表中的最大元素与最小元素之。 本关的代码文件src/Step3/numbers_square.py的代码框架如下:...
  • 交叉点的计算通过20次两种方法的最小时间,然后取平均值求得。 以50000个随机元素的列表为例: 暴力法需要约两分钟,分治法需要0.19s,而动态规划只需要0.013s。(单次数据) import math import time import ...
  • 集合(set)与列表(list) ...因此如果涉及到list交集,并集或者的问题可以转换为set来操作。 set(list1) | set(list2) union 包含list1和list2所有数据的新集合 ...
  • Python常见面试题

    千次阅读 2020-08-31 11:30:40
    3.一行代码1到1000内的整数和 4.字典按Value排序并返回新字典 简单的一个字典排序问题,字典是Python最重要的三大基础数据结构 5. 打乱一个列表 使用random模块可以轻松搞定,不得不说这个random库其实很有用,...
  • python100例.zip

    2020-02-04 13:16:02
    实例028:递归数列 实例029:反向输出 实例030:回文数 实例031:字母识词 实例032:反向输出II 实例033:列表转字符串 实例034:调用函数 实例035:设置输出颜色 实例036:算素数 ...
  • python学习4

    2016-06-07 14:03:58
    题目: 孪生素数 ... 然后分别寻找其中的素数的n倍的数字,将这个数字从列表中删除,那么剩下的就是所要选择的素数( 素数的去计算就可以啦 如果不是素数根本没有必要再去他的n倍的数字) tip 1: 建立一个有10
  • python计算四位黑洞数

    2020-06-30 20:02:49
    任何一个数字不全相同整数,经有限“重排求差”操作,总会得某一个或一些数,这些数即为黑洞数。“重排求差”操作即把组成该数的数字重排后得到的最大数减去重排后得到的最小数。--摘自百度百科 关键字:有限操作...
  • 尹成Python27天入门到项目实战

    千人学习 2020-12-05 17:04:22
    时间编程与单元测试时间的简单风格时间格式化抓取年月日计算时间时间函数计算时间date小结python2与3的差异内置函数筛选内置函数map内置的函数sorted新浪数据抓取实时文档测试单元测试函数单元测试一个类day26&...
  • Python循环 程序一般是顺序执行,if...在迭代过程中很有用,还有就是等比,等数列和一些不是很容易的数列都可以通过循环来进行求解。 Python循环只有两种:while , for # while 循环 count = 0 while count ...
  • 应用案例 - 用户身份验证 / 英制单位与公制单位互换 / 掷骰子决定做什么 / 百分制成绩转等级制 / 分段函数值 / 输入三条边的长度如果能构成三角形就计算周长和面积 Day04 - 循环结构 循环结构的应用场景 - ...
  • Python编程基础练习题

    千次阅读 2018-12-16 21:14:00
    1.#随机生成两个小于100的整数,打印其中一个数的数据类型和存储地址, 这两个数的和、、积、商、幂运算.2.#梯形的面积:输入上底和下底和高,输出面积。面积要求保留两位有效数字, 如果输入不是数字,通过...
  • Python 中 numpy 的学习

    2018-08-01 17:58:05
    np.random.randn(100,7,14,7,1) 从标准正态分布中返回一个五维矩阵。 np.random.randint(0,3,100000) 会...np.mean(a, axis=None) 矩阵的平均数 axis表示对该轴进行平均值 np.std(a, axis=None) 计算标准...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

python列表求差

python 订阅