藍橋杯算法之基礎知識(2)——Python賽道

1.循環里面套用遞歸,當遞歸執行return時,只會退出當前遞歸層

2.不能一邊遍歷list 一邊pop

解決辦法:倒序遍歷解決或者創建新的列表去存儲

3.sqrt求出來的始終是小數形式,注意題目要求的結果有可能是整型

你直接sqrt就提交,那不直接相當于沒做了,填空題很容易丟分。

4.python的遞歸是有深度限制的,默認是1000

你在嘗試遞歸的時候可以試著試驗范圍內的大數,如果報深度超了 就自己設置深度sys.setrecursionlimit()

5.列表的兩種格式

6.set集合在迭代的時候不能一邊遍歷一邊賦值

-解決方法要不就是新加一個變量去代替要不就是將set變為list(set())

7.sys加快輸入(這個很有用,一般對于那些限制短時間完成的,你使用這個前綴一般是比普通的數據讀入快的)

在每次代碼之前加入

import sys

input=sys.stdin.readline

》特殊情況

對于輸入的數字。int() 和 split() 會忽略換行符,所以數字輸入通常不用手動處理。

對于輸入的字符串,sys.stdin.readline 返回的字符串末尾帶換行符(\n),而 input() 會自動去掉。所以需要專門處理

8.二維矩陣賦值

a=[[for _ in range(n)] for _ in range(m)]-----由a=[0 for _ in range(m)]--->[0,0,0,0,0]推廣而來

---[[xx],[xx],[xx]]

a=[[0]*N for i in range(0,N)]
#s=[[0]*N for i in range(0,N)]
# print(a)


for i in range(1,n+1):
rows = [0]
rows.extend(list(map(int,input().split())))
for j in range(1,m+1):
a[i][j]=rows[j]

9.input的各個輸入竅門

input()---int(input())

n,m=map(int,input().split())

list=list(map(int,input().split()))

list[1:n+1]=list(map(int,input().split()))

*list[1:n+1]:表示列表 list 的第 1 個到第 n 個位置(不包括第 n+1 個位置)

10.list的小技巧(必看)

list的min,max,sum,count方法

》添加元素

方法功能添加方式示例
append添加單個元素到列表末尾將整個對象作為單個元素添加[1, 2, 3].append([4, 5])[1, 2, 3, [4, 5]]
extend添加可迭代對象的所有元素到列表末尾將可迭代對象的元素逐個添加[1, 2, 3].extend([4, 5])

insert(i, x):在索引 i 插入元素 x。

a = [1, 2, 3] 
a.insert(1, 5) 
print(a)  # [1, 5, 2, 3]

》刪除元素

  • remove(x):刪除第一個值為 x的元素,沒找到會拋 ValueError

    a = [1, 2, 3, 2] a.remove(2) print(a) # [1, 3, 2]

  • pop([i]):刪除并返回索引 i的元素,默認最后一個。

    a = [1, 2, 3] x = a.pop(1) print(x) # 2 print(a) # [1, 3]

  • clear():清空列表。

    a = [1, 2, 3] a.clear() print(a) # []

》查找元素

  • index(x[, start[, end]]):返回第一個 x 的索引,沒找到拋 ValueError

    a = [1, 2, 3, 2] print(a.index(2)) # 1 print(a.index(2, 2)) # 3(從索引 2 開始找)

  • count(x):統計 x出現的次數。

    a = [1, 2, 2, 3] print(a.count(2)) # 2

》排序和翻轉

  • sort(key=None, reverse=False):原地排序(前面講過)。

    a = [3, 1, 2] a.sort() print(a) # [1, 2, 3]

  • reverse():反轉列表。

    a = [1, 2, 3] a.reverse() print(a) # [3, 2, 1]

》復制

  • copy():返回列表的淺拷貝。

    a = [1, 2, 3] b = a.copy() b[0] = 4 print(a) # [1, 2, 3] print(b) # [4, 2, 3]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/96576.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/96576.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/96576.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何優雅解決 OpenCV 分段錯誤(Segfault):子進程隔離實戰

在分布式數據平臺(如 Databricks Spark)中跑視頻處理任務時,你是否遇到過這種惡心的報錯?Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. : org.apache.spark.Spark…

Docker的六種網絡模式(詳解)

文章目錄1. bridge(默認)2. host3. none4. container5. overlay6. macvlan7. 總結對比Docker 六種網絡模式是容器網絡的基礎概念,不同模式決定容器與宿主機、外部網絡、其他容器之間的通信方式。 1. bridge(默認) Br…

微服務流量分發核心:Spring Cloud 負載均衡解析

目錄 理解負載均衡 負載均衡的實現方式 服務端負載均衡 客戶端負載均衡 Spring Cloud LoadBalancer快速上手 常見的負載均衡策略 自定義負載均衡策略 LoadBalancer 原理 理解負載均衡 在 Spring Cloud 微服務架構中,負載均衡(Load Balance&#…

鴻蒙異步處理從入門到實戰:Promise、async/await、并發池、超時重試全套攻略

摘要(介紹目前的背景和現狀) 在鴻蒙(HarmonyOS)里,網絡請求、文件操作、數據庫訪問這類 I/O 都是異步的。主流寫法跟前端類似:Promise、async/await、回調。想把 app 做得“流暢且不阻塞”,核心…

【html2img/pdf 純!純!python將html保存為圖片/pdf!!效果非常的棒!】

素材 a.png html card.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><title>固定樣式卡片</title><style>/* 基礎樣式和頁面居中 */body {font-family: "微軟雅黑", "P…

帶寬評估(三)lossbase_v2

一、優化方向 調整丟包恢復算法的參數:可以通過調整算法中的一些參數,如丟包恢復速率、丟包恢復閾值等,來優化算法的性能。 調整發送窗口大小:在固定丟包場景下,可以通過調整發送窗口大小來控制發送速率,從而減少丟包率。 a=fmtp:96 x-google-min-bitrate=300 二、Goo…

imx6ull-驅動開發篇29——Linux阻塞IO 實驗

目錄 實驗程序編寫 blockio.c blockioApp.c Makefile 文件 運行測試 在之前的文章里&#xff0c;Linux阻塞和非阻塞 IO&#xff08;上&#xff09;&#xff0c;我們學習了Linux應用程序了兩種操作方式&#xff1a;阻塞和非阻塞 IO。 在Linux 中斷實驗中&#xff0c;Linux…

97. 小明逛公園,Floyd 算法,127. 騎士的攻擊,A * 算法

97. 小明逛公園Floyd 算法dijkstra, bellman_ford 是求單個起點到單個終點的最短路徑&#xff0c;dijkstra無法解決負權邊的問題&#xff0c; bellman_ford解決了負權邊的問題&#xff0c;但二者都是基于單起點和單終點。而Floyd 算法旨在解決多個起點到多個終點的最短路徑問題…

?崩壞世界觀中的安全漏洞與哲學映射:從滲透測試視角解構虛擬秩序的脆弱性?

?崩壞世界觀&#xff1a;游戲中的世界&#xff0c;是真實&#xff0c;也是虛幻的&#xff01;對于游戲中的NPC角色而言&#xff0c;TA們生存的世界&#xff0c;是真實的&#xff01;對于游戲玩家而言&#xff0c;游戲中的世界&#xff0c;是虛擬的&#xff01;通過沉浸式的游戲…

【離線安裝】CentOS Linux 7 上離線部署Oracle 19c(已成功安裝2次)

1.部署參考鏈接&#xff1a; CentOS 7 rpm方式離線安裝 Oracle 19chttps://blog.csdn.net/Vampire_1122/article/details/123038137?fromshareblogdetail&sharetypeblogdetail&sharerId123038137&sharereferPC&sharesourceweixin_45806267&sharefromfrom…

小白向:Obsidian(Markdown語法學習)快速入門完全指南:從零開始構建你的第二大腦(免費好用的筆記軟件的知識管理系統)、黑曜石筆記

一、認識Obsidian&#xff1a;不只是筆記軟件的知識管理系統 1.1 什么是Obsidian Obsidian是一個基于本地存儲的知識管理系統&#xff0c;它將你的所有筆記以純文本Markdown格式保存在電腦本地。這個名字來源于黑曜石——一種火山熔巖快速冷卻形成的玻璃質巖石&#xff0c;象…

攻防世界—Confusion1—(模板注入ssti)

一.解題在login和register的頁面中發現這個文件路徑接下去就找有什么點可以利用二.ssti通過題目信息可知是一只蛇把一只大象纏繞起來了&#xff0c;蛇代表python&#xff0c;大象代表php這邊通過python可以推測可能是模板注入&#xff0c;這邊我看其他的解題是說通過看報文信息…

【Protues仿真】基于AT89C52單片機的超聲波測距

目錄 1 HCSR04超聲波測距傳感器 1.1 基本參數 1.2 引腳說明 1.3 工作原理&#xff08;時序圖&#xff09; 2 基于AT89C52單片機的超聲波測距電路原理圖 2.1 硬件連接說明 2.2 工作原理 3 基于AT89C52單片機的超聲波測距控制程序 3.1.1 初始化設置 3.1.2 超聲波測距原…

LLM - Agent核心架構:四大“身體”部件

文章目錄一、Agent核心架構&#xff1a;四大“身體”部件1. 核心大腦&#xff1a;大型語言模型&#xff08;LLM&#xff09;2. 記憶系統&#xff1a;短期與長期記憶3. 工具箱&#xff08;Toolkit&#xff09;&#xff1a;從“思想家”到“行動家”4. 驅動循環&#xff08;Engin…

html-docx-js 導出word

2025.08.23今天我學習了如何將html頁面內容導出到word中&#xff0c;并保持原有格式&#xff0c;效果如下&#xff1a;代碼如下&#xff1a;1&#xff1a;列表頁面按鈕<el-button type"warning" plain icon"el-icon-download" size"mini" cli…

Science Robotics 通過人機交互強化學習進行精確而靈巧的機器人操作

機器人操作仍然是機器人技術中最困難的挑戰之一&#xff0c;其方法范圍從基于經典模型的控制到現代模仿學習。盡管這些方法已經取得了實質性進展&#xff0c;但它們通常需要大量的手動設計&#xff0c;在性能方面存在困難&#xff0c;并且需要大規模數據收集。這些限制阻礙了它…

Dism++備份系統時報錯[句柄無效]的解決方法

當使用Dism進行系統備份時遇到“[句柄無效]”的錯誤&#xff0c;這通常是由于某些文件或目錄的句柄無法正確訪問或已被占用所導致。以下是一種有效的解決方法&#xff1a;一、查看日志文件定位日志文件&#xff1a;首先&#xff0c;打開Dism軟件所在的目錄&#xff0c;并找到其…

華為/思科/H3C/銳捷操作系統操作指南

好的,這是一份針對 華為(VRP)、思科(IOS/IOS-XE)、H3C(Comware)和銳捷(Ruijie OS) 這四大主流網絡設備廠商操作系統的對比操作指南。本指南將聚焦于它們的共性和特性,幫助你快速掌握多廠商設備的基本操作。 四大網絡廠商操作系統綜合操作指南 一、 核心概念與模式對…

一文讀懂 DNS:從域名解析到百度訪問全流程

目錄 前言 一、什么是 DNS&#xff1f;—— 互聯網的 “地址簿” 為什么需要 DNS&#xff1f; DNS 的核心參數 二、DNS 解析原理&#xff1a;遞歸與迭代的協作 1. 兩種核心查詢方式 2. 完整解析流程&#xff08;以www.baidu.com為例&#xff09; 緩存清理命令 三、DNS …

初試Docker Desktop工具

文章目錄1. 概述2. 下載3. 安裝4. 注冊5. 登錄6. 啟動7. 容器8. 運行容器8.1 運行容器的鏡像8.2 獲取示例應用8.3 驗證Dockerfile文件8.4 拉取Alpine精簡鏡像8.5 創建鏡像8.6 運行容器8.7 查看前端9. 訪問靜態資源9.1 本地靜態資源9.2 創建服務器腳本9.3 修改Dockerfile文件9.4…