首页 > 编程语言 >Python好库

Python好库

时间:2024-03-24 21:55:05浏览次数:27  
标签:好库 Python combinations sl print import

Python好库

一、有序列表

from sortedcontainers import SortedList

sl = SortedList([1,3])
sl.add(-1)
sl.remove(3)
print(sl)
print(sl.bisect_left(1))
print(sl.bisect_right(3))
"""
SortedList([-1, 1])
1
2
"""

二、排列组合

from itertools import permutations,combinations,combinations_with_replacement

a = [1,2,3,4,5]

# 排列
b = list(permutations(a,2))
print(b)
# [(1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 4), (3, 5), (4, 1), (4, 2), (4, 3), (4, 5), (5, 1), (5, 2), (5, 3), (5, 4)]

# 组合
c = list(combinations(a,4))
print(c)
# [(1, 2, 3, 4), (1, 2, 3, 5), (1, 2, 4, 5), (1, 3, 4, 5), (2, 3, 4, 5)]

# 允许同一个元素被选择多次
d = list(combinations_with_replacement(a,2))
print(d)
# [(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 2), (2, 3), (2, 4), (2, 5), (3, 3), (3, 4), (3, 5), (4, 4), (4, 5), (5, 5)]

三、缓存装饰器【记忆化搜索神器】

import sys
sys.setrecursionlimit(1000000)
from functools import lru_cache

@lru_cache(None)
def dfs(x):
    if x <= 1:
        return 1
    return dfs(x - 1) + dfs(x - 2)

print(dfs(1000))

标签:好库,Python,combinations,sl,print,import
From: https://www.cnblogs.com/gebeng/p/18093154

相关文章

  • 【Python】可视化Python库的依赖关系
    这里主要用了两个库:pipdeptree和pyecharts。pipdeptree用来解析所有库的依赖关系。pyecharts用来显示依赖的网络关系。通常的方法应该是通过输入下面命令:pipdeptree--json-tree>pkg.json得到关系树文件,然后解析该文件并在pyecharts显示即可。不过我不想解析json文件了......
  • Python问题异常处理与日志结合
    我们掌握了try-except来处理程序运行中可能遇到的异常,以及使用logging来记录程序运行日志,该篇文章就结合二者来讲讲如何记录程序运行过程中的各种事件、状态信息以及遇到的异常情况,以便于追踪、诊断和解决程序运行时的问题。目录一、配置日志记录器 (logging.Logger)二、......
  • 10个超实用的Python模板
    From: https://mp.weixin.qq.com/s/MCQIDYEXsp2v7RRsLaJ4JA-------------------------------------------------------------------------------------以下是10个超实用的Python模板,可以帮助您更快速地开始编写不同类型的代码:1.简单脚本模板:#!/usr/bin/env pythondef main......
  • 【进阶五】Python实现SDVRP(需求拆分)常见求解算法——自适应大邻域算法(ALNS)
    基于python语言,采用经典自适应大邻域算法(ALNS)对需求拆分车辆路径规划问题(SDVRP)进行求解。目录往期优质资源1.适用场景2.代码调整3.求解结果4.代码片段参考往期优质资源经过一年多的创作,目前已经成熟的代码列举如下,如有需求可私信联系,表明需要的问题与算法......
  • 如何使用Python编写网络程序来控制和交互物联网设备
    要使用Python编写网络程序来控制和交互物联网设备,你需要遵循以下步骤:选择合适的物联网设备:首先,你需要确定你想控制的物联网设备类型,例如智能灯泡、智能插座、温度传感器等,并了解其支持的通信协议(如MQTT,HTTP,CoAP等)。准备开发环境:确保你的计算机上安装了Python。根......
  • python案例
    1.针对数值运算符水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。例如:1^3+5^3+3^3=153。#水仙花数#方法一:foriinrange(100,1000):a=i//100b=(i-a*100)//10c=(i-a*100-b*10)ifi==pow(a,3)+......
  • python自动化——web自动化框架常用封装代码复习——当你会开发之后,发现一切都是如此
    PS:  PO模式知识点如下: 1、知识点:函数的书写、类、继承,模块导入; 2、思路:分层,抽离;     =====================================================================          编写用例基础版本:   pytest参数化,以及原始selenium用例编......
  • python安装教程
    打开国内的镜像网站Indexofpython-local/3.12.2(huaweicloud.com)找到如下图的程序下载即可。比官网的要快【我下载的是12.2的版本,你也可以根据自己的需求选择不同的版本】 下载完成之后就是安装了2.1双击下载的程序,出现如下界面 我们选择自定义安装路径2.2......
  • python趣味编程-使用 Django 和 WebSockets 的 Python 简单实时聊天室网站
    在Python中使用Django的简单实时聊天室系统该项目名为“简单实时聊天室系统”。这是一个使用Python和DjangoFramework开发的基于Web的应用程序。该应用程序是一个供随机用户使用的简单聊天室。所有人都可以在一个聊天框或对话框中进行交流。聊天消息会自动更新到所......
  • python趣味编程-使用 Django 的 Python 大学考勤管理系统
    在Python中使用Django的大学考勤管理系统该项目的名称为《大学考勤管理系统》。这是一个使用DjangoFramework用Python开发的基于Web的应用程序。该项目帮助某些大学学院存储/记录和管理学生每堂课的出勤情况。使用该应用程序,他们可以轻松列出班级学生名单并记录每......