python日常刷题(二)

news2024/9/21 8:02:58

前言:本文记录2024年4月9日至2024年4月13日做题时遇到的几个问题(错题本):

🎬个人简介:努力学习ing
📋本专栏:python日常刷题
🎀CSDN主页:愚润求学


文章目录

  • 错题集
    • 一,max比较和列表推导式
    • 二,栈
      • 1,题1
    • 三,hex和bin
    • 四,赋值
    • 五,pow()
    • 六,join方法可以连接字符串
    • 七,列表推导式-变向删除
  • 八,shuffle函数打乱

错题集

一,max比较和列表推导式

注意当列表中的元素是字符串的时候,maxmin比较时比较的是字符串,如下:

list = ["1","49","30",'9','0']
print(min(list))
print(max(list))

虽然我希望能够输出0和49,但是比较的时候是根据字符串的比较规则,导致输出的是9和0
如果希望输出里面的最小数字和最大数字,我们可以先把它们转换成整型
如,解决下题:
在这里插入图片描述

代码:

list = input().split(" ")
list = [int(x) for x in list]  # 把列表中的元素转换成整型
print(max(list))
print(min(list))

二,栈

1,题1

这道题,值得注意的是:先往列表里面存入一个元素
在这里插入图片描述

class Solution:
    def isValid(self, s:str) -> bool:
        maches = {'(':')', '[':']', '{':'}', '?':'?'}  # 这个?是为了当?被pop出来的时候,可以有键与之匹配
        stock = ['?']  # 这个问号的意义:为了让stock不为空,例如:如果第一个元素为右括号时,让列表可以被pop()
        for i in s:
            if i in maches:
                stock.append(i)
            elif i != maches[stock.pop()]:
                return False
        return len(stock) == 1  # 判断是不是所有左括号都被匹配完了

三,hex和bin

hex()函数:十进制转十六进制
bin()函数:十进制转二进制
例如:

print(hex(100))
print(bin(100))

输出:
在这里插入图片描述

四,赋值

用列表一次性给多个元素赋值也是可以的:

a,b = [1,2]

使用map()
map() 第一个参数是函数,第二个参数是个迭代器:把序列中的每一个元素赋值给第一个函数,然后返回返回一个存放这些结果的map对象实例

a,b = map()
a,b = new_list = map(lambda x:int(x), input().split())
print(a,b)  # 输入:1 2  输出:1 2(转换成了整型)

五,pow()

pow(base, exponent)

abse:底数
exponent:指数

如:

pow(2, 3)  # 返回 2 的 3 次幂,即 8

六,join方法可以连接字符串

例如:
以空格" "为分隔符,把list1的每个元素连成一个字符串

list1 = ["Hello", "world", "I", "am", "learning", "Python"]
print(" ".join(list1)) 
# 输出:"Hello world I am learning Python"

七,列表推导式-变向删除

当我希望删除列表中的素数元素:
错误代码:

def is_prime(num: int) -> bool:
    for i in range(2, int(num/2)):
        if num % i == 0:
            return False
    return True

ls = [23, 45, 78, 87, 11, 67, 89, 13, 243, 56, 67, 311, 431, 111, 141]
for pos in range(len(ls)):
    if is_prime(ls[pos]):
        del ls[pos]
print(ls)

因为删除元素的时候会减小列表的长度,所以后续会造成越界

我们可以用列表推导式来提取元素,从而变向达到删除的效果:

def is_prime(num: int) -> bool:
    for i in range(2, int(num/2)):
        if num % i == 0:
            return False
    return True

ls = [23, 45, 78, 87, 11, 67, 89, 13, 243, 56, 67, 311, 431, 111, 141]
ls = [num for num in ls if not is_prime(num)]
print(ls)


八,shuffle函数打乱

shuffle函数是Python内置库random中的一个函数,用于将序列(如列表、元组或字符串)中的元素随机打乱顺序。
原型:

random.shuffle(iterable, random=None)

iterable: 要打乱顺序的序列(可修改)。
random: 随机数生成器,用于提供随机性。如果未指定或为None,则使用默认的随机数生成器。
返回值:直接对原序列进行修改,返回打乱顺序后的序列。
示例:

import random

# 打乱列表的顺序
lst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2120839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp苹果端与安卓端兼容性问题的处理

目录 第一个问题,苹果端页面有下拉回弹的效果,安卓端没有。解决苹果端的问题,在pages.json中对需要的页面, 第二个问题,安卓端页面滚动到底部触发onReachBottom页面生命周期函数,而苹果端无法触发&#xf…

2024年PDF转换器大集合:哪4款是互联网人的首选?

嘿,朋友们,你们知道吗?那些在办公室里看起来特别能干的大佬们,他们好像总能很快地把各种文件变来变去,好像有什么特异功能似的。告诉你们吧,他们其实就是用了几款特别牛的PDF转换工具!今天&…

前端打包装包——设置镜像

1、打包失败,因为没装包,装包失败,因为装包的源错误 npm config get registry npm config set registry https://registry.npmmirror.com/npm install npm run build还是失败,因为缺少了包,在package.json文件中没有包…

Centos7.9 安装Elasticsearch 8.15.1(图文教程)

本章教程,主要记录在Centos7.9 安装Elasticsearch 8.15.1的整个安装过程。 一、下载安装包 下载地址: https://www.elastic.co/cn/downloads/past-releases/elasticsearch-8-15-1 你可以通过手动下载然后上传到服务器,也可以直接使用在线下载的方式。 wget https://artifacts…

Docker 部署 Seata (图文并茂超详细)

部署 Seata ( Docker ) [Step 1] : 创建对应的**seata**数据库, 也就是下面的的**seata.sql**文件 seata.sql [Step 2] : 拉取 Seata 镜像 docker pull seataio/seata-server:1.5.2[Step 3] : 创建目录 ➡️ 创建容器 ➡️ 拷贝文件 ➡️ 授权文件 ➡️ 删除容器 # 创建…

热点文章轻松生成?一篇测评告诉你ChatGPT的神奇能力

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

【视频教程】遥感云大数据在灾害、水体与湿地领域典型案例实践及GPT模型应用

前期我们分别以Javascript和Python为编程语言,成功举办了数期关于GEE遥感大数据分析处理的基础培训课程,得到了来多个行业的学员的广泛参与和支持。应广大科研工作者的要求,本次课程将聚焦目前遥感应用最热门领域之一的灾害、水体及湿地领域&…

多线程篇(阻塞队列- LinkedTransferQueue)(持续更新迭代)

目录 一、简介 二、基本原理 三、jdk8 内部属性 4个常量值 transfer tryAppend take() awaitMatch boolean remove(Object o) 四、jdk17 主要参数 put/offer take() remove() 五、与synchronousqueue 区别 六、知识小结 一、简介 LinkedTransferQueue是一个由…

手撕Python之文件操作

1.编码 编码---encode() 解码---decode() #编码(encode):将我们能够识别的文字,转换为计算机能够识别的内容 print(你好.encode())#默认utf-8 #b\xe4\xbd\xa0\xe5\xa5\xbd #将你好翻成进制数#解码(decode):将计算机能识别的内容&#xff0c…

兼顾身份保护和文本对齐!中山大学等提出CoRe:任意提示的文本到图像个性化生成!

文章链接:https://arxiv.org/pdf/2408.15914 亮点直击 CoRe只用于输出embedding和注意力图,不需要生成图像,可以用于任意提示。 在身份保护和文本对齐方面表现出优越的性能,特别是对于需要高度视觉可变性的提示。 除了个性化一般…

2. Python之注释及缩进以及print和input函数使用

一. Python代码中的注释及缩进 Python中注释有单行注释,多行注释,声明注释 单行注释使用符号#,从#开始,后面到本行末尾都是注释内容。多行注释可以使用’‘’ ‘’三个引号,三个引号内的内容都是注释声明注释&#x…

密钥加密机的定义与分类

密钥加密机,也称为加密机或硬件加密模块(HSM, Hardware Security Module),是信息安全领域中的核心设备。它通过密码学原理和密钥管理技术,对敏感数据进行加密保护,确保数据在传输和存储过程中的安全性。以下是对密钥加密机的详细解…

开始一个WPF项目时的记忆重载入

目前在工业软件的UI开发方案选择中,WPF仍然是一个重要的选项。 但是其固有的复杂性,对于像我这样,并不是一直在从事界面开发的人来说,每次重启,都需要一两天的适应的时间。所以这里稍微写一个笔记。 还是老办法&…

分享一款520表白节JS代码

源码介绍 今天给大家分享一款JS表白源码 js会随 随机颜色心形跟随鼠标互动520表白节女神表白利器! 修改的话就搜索:LOVEh 就能找到这个英文了。 效果预览 源码获取 分享一款520表白节JS代码 百度网盘提取码:2yar:https://pan.…

JavaScript高级——回调函数

1、回调函数的含义 ① 你定义的 ② 你没有调 ③ 但最终他执行了(某个时刻或者某个条件下) 2、常见的回调函数 ① dom事件回调函数 —— 发生事件的dom元素 ② 定时器回调函数 —— window ③ ajax请求回调函数 ④ 生命周期回调函数 本文分享…

【Adaptive AutoSAR 源码解析01】通信中间件技术总览

https://www.autosar.org/fileadmin/standards/R21-11/AP/AUTOSAR_EXP_ARAComAPI.pdf#page=8&zoom=100,94,473

pip install “git+https://xxx“报错error: subprocess-exited-with-error

有时候即使使用科学上网,可以正常访问github也会发生pip install “githttps://xxx“报错 如 解决方法: 我们可以将pip install “githttps://xxx“分为两步: 第一步: pip install "githttps://xxx" 第二步&#…

计算机技术专硕,三维数字地球的学习路径?

三维数字地球是一个跨学科领域,涉及地理信息系统(GIS)、计算机图形学、遥感技术、大数据处理等多个方面。作为计算机技术专硕的学生,可以按照以下学习路径来逐步深入: 1、基础理论学习: 地理信息系统&…

基于IP子网的VLAN典型配置举例(H3C,其他厂商同理)

基于IP子网的VLAN典型配置举例 1. 组网需求 如下图所示,办公区的主机属于不同的网段192.168.5.0/24和192.168.50.0/24,Device C在收到来自办公区主机的报文时,根据报文的源IP地址,使来自不同网段主机的报文分别在指定的VLAN中传…

仙人掌:花语与传说交织的独特魅力

仙人掌,花语丰富多样,有坚强勇敢,也有温柔孤独。其传说精彩纷呈,蕴含着爱与勇气。了解仙人掌的花语与传说,感受它独特的魅力与坚韧精神。 一、仙人掌的花语内涵 仙人掌,一种生长在恶劣环境中的独特植物&am…