Python常用小技巧,提高刷题效率(适用于蓝桥杯python组)

2023-05-16

1. 掌握python标准库及小技巧

  • python课程学习到面向对象,就可以刷题参加算法比赛了
  • 对于蓝桥杯不支持第三方库,但学会python标准库,将事半功倍;

2. 常用的列表函数

list1.append(x) : 将x添加到列表末尾

list1.sort(): 对列表元素排序

list1.reverse() : 将列表元素逆序

list1.index(x) : 返回第一次出现元素x的索引值

list1.insert(x) : 在位置i处插入新元素x

list1.count(x) : 返回元素x在列表中的数量

list1.remove(x) : 删除列表中第一次出现的元素x

list1.pop(i) : 取出列表中i位置上的元素,并将其删除

# 演示重要的内容
list1 = [1,2,5,4,3]
list1.sort() # 默认为升序且直接改变原列表顺序,等价于 list1.sort(reverse=False)
print('默认升序:',list1)
list1.sort(reverse=True)
print('reverse=True为降序:',list1)
默认升序: [1, 2, 3, 4, 5]
reverse=True为降序: [5, 4, 3, 2, 1]

列表与字典相关技巧

# python 根据 key,value 排序字典
d = {'d': 4, 'a': 1, 'b': 2, 'c':3}
# dict sort by key and reverse
print(dict(sorted(d.items())))               # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
print(dict(sorted(d.items(),reverse=True))) # {'d': 4, 'c': 3, 'b': 2, 'a': 1}

{'a': 1, 'b': 2, 'c': 3, 'd': 4}
{'d': 4, 'c': 3, 'b': 2, 'a': 1}
# 排序嵌套 list
l = [('a', 1), ('c', 2), ('b',3)]
print(sorted(l, key=lambda p:p[0])) # 根据第1个值排序,[('a', 1), ('b', 3), ('c', 2)]
print(sorted(l, key=lambda p:p[1])) # 根据第2个值排序,[('a', 1), ('c', 2), ('b', 3)]
[('a', 1), ('b', 3), ('c', 2)]
[('a', 1), ('c', 2), ('b', 3)]
# 同时获取最大值的下标和值
lis = [1,2,5,4,3]
max_index,max_value = max(enumerate(lis),key=lambda iv:iv[1])
print('最大值的下标:',max_index,'、','最大值为:',max_value)
最大值的下标: 2 、 最大值为: 5
# 获取字典对应的最大值对应的 key,value
mydict = {'A':4,'B':10,'C':0,'D':87}
max_key, max_value = max(mydict.items(), key=lambda k: k[1])
print('最大值的key:',max_key,'、','最大值为:',max_value)
最大值的key: D 、 最大值为: 87

3.常用的内置函数

abs(x) : 取x的绝对值

pow(): pow(3,4)求3的四次方

min(list1): 取列表中的最小值

max(list1): 取列表中的最大值

sum(list1): 取列表中的和

zip(): 创建一个聚合了来自每个可迭代对象中的元素的迭代器。

x = [1, 2, 3]
y = [4, 5, 6]
zipped = zip(x, y)
print(list(zipped)) # [(1, 4), (2, 5), (3, 6)]
# zip() 与 * 运算符相结合可以用来拆解一个列表:
x2, y2 = zip(*zip(x, y))
print(x == list(x2) and y == list(y2))

4.字符串相关问题技巧

ord(): 将ASCLL码转换为数字。ord('a')返回91

chr(): 将数字转换为ASCLL码。chr(97) 返回字符串 'a'

str1.swapcase() : 翻转 str1 中的大小写

list(str1): 将字符串转化为列表

''.join(str1): 将字符串列表,拼成字符串

srt1.split():将字符串按一定符号分割,分割后成列表

srt1.isdigit() : 检测字符串是否由十进制数 0--9组成

str1.isnumeric(): 检测字符串是否只由数字组成

srt1.isxdigit() : 检测字符串是否由十六进制数 0--9,a—f,或A--F组成

srt1.isalnum() : 检测字符串是否由字母数字符号 0--9,a--Z,或A--Z组成

srt1.isalpha() : 检测字符串是否由字母a--Z或A--Z组成

srt1.islower(): 检测字符串是否否由小写字母 a--Z组成

srt1.isupper(): 检测字符串是由 大写字母 A--Z组成

strip() / lstrip() / rstrip(): 用于移除字符串头尾 / 开头 / 结尾指定的字符(默认为空格)

参考

https://blog.csdn.net/qq_41196691/article/details/109597863

https://blog.csdn.net/weixin_41259130/article/details/79690172

https://docs.python.org/zh-cn/3.8/library/functions.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python常用小技巧,提高刷题效率(适用于蓝桥杯python组) 的相关文章

  • java内部类的理解之三

    java中的内部类总结 内部类不是很好理解 xff0c 但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑 肢体 器官等身体结果组成 xff0c 而内部类相当于其中的某个器官之一 xff0c 例如心脏 xff1a 它也有自己的
  • c++语言基础知识总结

    目录 一 程序书写tips 二 multi sources处理 三 关键字 四 输入流和输出流 1 输出 2 输入 五 数据类型 1 简单数据类型 1 常量 2 转义字符 2 容器数据类型 1 枚举 2 字符串 3 数组 4 指针 5 引用
  • 一些有用的在线帮助文档(微软,C/C++,Java,linux)

    linux 系统调用和 函数库 你点2 和 3 http www kernel org doc man pages 微软全家桶的帮助Doc http msdn microsoft com en us library ms123401 asp
  • C语言基础知识总结

    目录 一 程序书写tips 二 multi sources处理 请看这篇文章 三 关键字 四 输入流和输出流 1 输出 2 输入 五 数据类型 1 简单数据类型 2 容器数据类型 1 数组 2 字符串 2 枚举 3 指针 3 结构体 4 位
  • 彻底解决VS的4996警告

    方法一 xff1a 使用安全的函数替换老的函数 方法二 xff1a 屏蔽警告信息 1 在文件最前面加上 pragma warning disable 4996 2 在头文件里定义下面的宏 xff1a define CRT SECURE NO
  • easyrecovery免费版2023最新电脑数据恢复软件

    通常 xff0c 许多人会将工作或生活中的数据存储在我们的计算机上 很多时候 xff0c 由于我们的误操作或其他一些问题 xff0c 很容易错误地删除一些文件和数据 特别是 xff0c 一些计算机故障总是会导致数据丢失 xff0c 这是非常
  • C语言fread和fwrite

    对文件格式化读写函数 fprintf 与 fscanf 而言 xff0c 尽管它可以从磁盘文件中读写任何类型的文件 xff0c 即读写的文件类型可以是文本文件 二进制文件 xff0c 也可以是其他形式的文件 但是 xff0c 对二进制文件的
  • C语言文件定位函数rewind和fseek

    文件定位函数rewind和fseek 移动文件内部位置指针的函数主要有两个 xff0c 即 rewind 和 fseek rewind 用来将位置指针移动到文件开头 xff0c 前面已经多次使用过 xff0c 它的原型为 xff1a voi
  • 文件中的EOF是什么

    1 EOF 定义在 usr include stdio h 文件中 xff1a 从上面 EOF 的定义我们可以看出 EOF 本质上就是一个值为 1的常量 xff01 2 在Linux系统之中 xff0c EOF根本不是一个字符 xff0c
  • C语言命令行参数

    argc 是指传入参数的个数 xff0c argv 是一个指针数组 xff0c 指向传递给程序的每个参数 include lt stdio h gt int main int argc char argv if argc 61 61 2 p
  • C/C++程序的内存分配

    一个由C C 43 43 编译的程序占用的内存分为以下几个部分 1 栈区 xff08 stack xff09 由编译器自动分配释放 xff0c 存放函数的参数值 xff0c 局部变量的值等 其操作方式类似于数据结构中的栈 2 堆区 xff0
  • c++的struct和class区别

    在C 43 43 中我们可以看到struct和class的区别并不是很大 xff0c 两者之间有很大的相似性 那么为什么还要保留struct 这是因为C 43 43 是向下兼容的 xff0c 因此C 43 43 中保留了很多C的东西 一 首
  • c++中的构造函数

    子类不会继承父类的构造方法 子类创建对象时 先执行父类无参的构造方法 然后执行子类的构造方法 如果父类只有有参数的构造方法 xff0c 则子类必须显示调用此带参构造方法 继承构造函数不会继承参数的默认值 struct A A int i A
  • c++构造函数详解

    一 构造函数的种类 1 无参数构造函数 如果创建一个类你没有写任何构造函数 则系统会自动生成默认的无参构造函数 xff0c 函数为空 xff0c 什么都不做只要你写了一个某一种构造函数 xff0c 系统就不会再自动生成这样一个默认的构造函数
  • c++的using关键字

    用法一 xff1a using namespace 命名空间 该用法能直接在程序中使用using后所跟的命名空间的元素 xff0c 而不用每次要使用时指定命名空间 using namespace std 这样就可以直接用std命名空间里的元
  • namespace名字空间

    一 为什么使用命名空间 考虑一种情况 xff0c 当我们有两个同名的人 xff0c Zara xff0c 在同一个班里 当我们需要对它们进行区分我们必须使用一些额外的信息和它们的名字 xff0c 比如这个区域 xff0c 如果它们生活在不同
  • cleanmymac在哪下载?中文官网安装教程

    CleanMyMac是一个系统清理工具 xff0c 删除系统缓存文件 多余的应用程序语言包 PowerPc软件运行库等 是个给你的硬盘瘦身的好工具 系统 xff1a macOS 10 14 xff08 在10 15以及Big Sur中的安装
  • c++中virtual的用法

    1 虚函数的用法 用于子类重写父类函数 父类 class base 子类 class sub public base 主函数 main 指针p的指向静态绑定为base 想要解除静态绑定 需要把base中的函数用virtual修饰 base
  • c++抽象类

    如果类中有函数被声明为纯虚函数 xff0c 则这个类就是抽象类纯虚函数是通过在声明中使用 34 61 0 34 来指定的 xff0c 如下所示抽象类不能被实例化对象 xff0c 由它派生的子类实现 class Box public 纯虚函数
  • C++中的文件操作

    需要用到 C 43 43 中另一个标准库 fstream 数据类型描述ofstream该数据类型表示输出文件流 xff0c 用于创建文件并向文件写入信息 ifstream该数据类型表示输入文件流 xff0c 用于从文件读取信息 fstrea

随机推荐

  • c++中的匿名对象

    匿名对象只存在于构造该对象的那行代码 xff0c 离开构造匿名对象的哪行代码后立即调用析构函数 class Some int n public Some int s n 61 s Some cout lt lt 34 destroy n 3
  • c++中的匿名对象

    匿名对象只存在于构造该对象的那行代码 xff0c 离开构造匿名对象的哪行代码后立即调用析构函数 class Some int n public Some int s n 61 s Some cout lt lt 34 destroy n 3
  • c++中的异常处理

    C 43 43 异常处理涉及到三个关键字 xff1a try try 块中的代码标识将被激活的特定异常 并由throw跳出try块 它后面通常跟着一个或多个 catch 块 throw 在try的函数体内放置throw语句 通常后接字符串
  • c++的泛型编程及模板

    一 模板函数 2 用模板定义函数 template lt typename T0 typename T1 typename T2 gt T0 print T1 arg1 T2 arg2 arg1和arg2是两个形参 cout lt lt a
  • c++与时间相关的函数和信号处理

    1 Sleep 函数 Linux 用 include lt unistd h gt 和 sleep xff0c Windos 用 include lt windows h gt 和 Sleep Sleep 括号里的时间 xff0c 在 Wi
  • c++的explicit和implicit修饰符

    explicit修饰符代表显式 implicit修饰符代表隐式 类构造函数默认是隐式implicit的 在隐式情况下 类构造函数会发生隐式转换 即以下两种写法是相互转换的 CxString string2 61 10 CxString st
  • c++里的可变参数

    C 43 43 允许定义形参个数和类型不确定的函数 xff0c 不确定的形参可以使用省略号 int add int firstParam 使用要求 xff1a 省略号必须在参数列表的末尾 运行时 xff0c 才能确认参数的具体个数与类型 只
  • CleanMyMac X4.13.2.dmg最新中文版下载

    它是Mac上一款美观易用的系统优化清理工具 xff0c 也是小编刚开始用Mac时的装机必备 它能够清理系统垃圾 xff0c 提升电脑的运行速度 xff0c 卸载许久不用的软件 xff0c 使其变得如新机一般流畅 CleanMyMac X是一
  • C++对于函数的理解

    xff08 1 xff09 函数的本体是 xff08 xff09 xff08 2 xff09 可以在此基础上加上一个函数名fun xff08 xff09 xff08 3 xff09 同数组一样 xff0c 函数名表示函数的首地址 xff08
  • C语言与c++的auto不同之处

    xff08 1 xff09 C语言 xff1a 是个缺省修饰符 xff0c 表明是自动变量 xff0c 存放再动态存储区 xff08 2 xff09 c 43 43 C 43 43 11新标准引入了auto 类型说明符 xff0c 用aut
  • C++11 bind和function用法

    xff08 1 xff09 function function是一个template xff0c 定义于头文件functional中 通过function lt int int int gt 声明一个function类型 xff0c 它是
  • c++的强制类型转换

    c 43 43 除了能使用c语言的强制类型转换外 xff0c 还新增了四种强制类型转换 xff1a static cast dynamic cast const cast reinterpret cast xff0c 主要运用于继承关系类间
  • c++多线程

    目录 一 创建线程 xff08 1 xff09 简单的栗子 xff1a xff08 2 xff09 创建一个执行有参函数的线程 xff1a xff08 3 xff09 类成员函数的线程 xff1a 二 关闭线程 xff08 1 xff09
  • c++的lvalue和rvalue以及引用

    目录 xff08 0 xff09 lvalue和rvalue xff08 1 xff09 左值引用 xff08 2 xff09 右值引用 xff08 3 xff09 move xff08 xff09 xff08 0 xff09 lvalue
  • c++STL(标准模板库)

    C 43 43 STL xff08 标准模板库 xff09 是一套功能强大的 C 43 43 模板类 xff0c 提供了通用的模板类和函数 xff0c 这些模板类和函数可以实现多种流行和常用的算法和数据结构 xff0c 如向量 链表 队列
  • c++标准库

    C 43 43 标准库可以分为两部分 xff1a 标准函数库 xff1a 这个库是由通用的 独立的 不属于任何类的函数组成的 函数库继承自 C 语言 面向对象类库 xff1a 这个库是类及其相关函数的集合 C 43 43 标准库包含了所有的
  • c++11新特性

    姊妹篇 xff1a 请参考这篇博客 1 关键字及新语法 1 1 auto关键字及用法 1 2 nullptr关键字及用法 1 3 for循环语法 2 STL容器 2 1 std array 2 2 std forward list 2 3
  • ps笔记

    xff08 1 xff09 图层在以下情况下 xff0c 不可编辑 1 隐藏的图层 2 未栅格化的图层 3 锁定抄的图层百 4 智能图像图层 xff08 属于2 xff09 xff08 2 xff09 什么是栅格化 栅格化图层的简单意思是
  • therecipe / qt Windows版本安装

    先记录环境变量 四件套 这篇文章很有作用 xff1a https qiita com manymanyuni items a28acb545200f1f45c79 https qiita com 我使用的步骤和命令 注意 GOPATH和GO
  • Python常用小技巧,提高刷题效率(适用于蓝桥杯python组)

    1 掌握python标准库及小技巧 python课程学习到面向对象 xff0c 就可以刷题参加算法比赛了对于蓝桥杯不支持第三方库 xff0c 但学会python标准库 xff0c 将事半功倍 xff1b 2 常用的列表函数 list1 ap