藍橋杯算法之基礎知識(5)

目錄

Ⅰ.in方法的使用

Ⅱ.字典的使用

Ⅲ.1MB 、KB、 B、 b(即bit)的轉換(必學)

Ⅳ.閏年or平年

Ⅴ.count和counter方法

1. count() 方法的使用場景

2. Counter 類的介紹

3. count() 與 Counter 的區別

4. Counter 的高級應用

5.Counter的另一種使用

Ⅵ.max和min的使用---可以直接連用max(max(lst))

Ⅶ.格式化字符串format

Ⅷ.itertools迭代器

應用實例:使用itertools求前綴和S(n)

Ⅸ.笛卡爾積

Ⅹ.無窮小和無窮大的表示方法


Ⅰ.in方法的使用

在 Python 中,in 是一個用于檢查某個元素是否存在于某個容器(如列表、字符串、元組、字典、集合等)中的關鍵字。
它的使用非常簡單且靈活,以下是 in 的常見用法和示例。

1. 在列表中使用 in
檢查某個元素是否在列表中:

PYTHON
my_list = [1, 2, 3, 4, 5]
print(3 in my_list) ?# 輸出:True
print(6 in my_list) ?# 輸出:False


2. 在字符串中使用 in
檢查某個子字符串是否在字符串中:

PYTHON
my_string = "hello world"
print("hello" in my_string) ?# 輸出:True
print("python" in my_string) ?# 輸出:False


3. 在元組中使用 in
檢查某個元素是否在元組中:

PYTHON
my_tuple = (1, 2, 3, 4, 5)
print(3 in my_tuple) ?# 輸出:True
print(6 in my_tuple) ?# 輸出:False


4. 在字典中使用 in
檢查某個鍵是否在字典中:

PYTHON
my_dict = {"name": "Alice", "age": 25}
print("name" in my_dict) ?# 輸出:True
print("city" in my_dict) ?# 輸出:False
注意:in 默認檢查字典的鍵,而不是值。如果需要檢查值,可以使用 in my_dict.values():PYTHON
print("Alice" in my_dict.values()) ?# 輸出:True


5. 在集合中使用 in
檢查某個元素是否在集合中:

PYTHON
my_set = {1, 2, 3, 4, 5}
print(3 in my_set) ?# 輸出:True
print(6 in my_set) ?# 輸出:False


6. 在范圍(range)中使用 in
檢查某個數字是否在 range 中:

PYTHON
my_range = range(1, 10)
print(5 in my_range) ?# 輸出:True
print(10 in my_range) ?# 輸出:False


7. in 的否定形式:not in
檢查某個元素是否不在容器中:

PYTHON
my_list = [1, 2, 3, 4, 5]
print(6 not in my_list) ?# 輸出:True
print(3 not in my_list) ?# 輸出:False


8. in 的使用場景

條件判斷:
PYTHON
if "hello" in my_string:print("Found!")
列表推導式:
PYTHON
filtered_list = [x for x in my_list if x in {2, 3, 5}]

Ⅱ.字典的使用

Ⅲ.1MB 、KB、 B、 b(即bit)的轉換(必學)

Ⅳ.閏年or平年

Ⅴ.count和counter方法

1. count() 方法的使用場景

count() 主要用于統計某個特定元素在字符串、列表或元組中出現的次數

(1) count() 在字符串中的使用:

word = "banana"
print(word.count("a"))  # 3
print(word.count("na")) # 2

解釋:

  • "a""banana" 中出現 3 次。

  • "na" 作為子字符串出現 2 次。

(2) count() 在列表中的使用:

nums = [1, 2, 3, 4, 2, 2, 5]
print(nums.count(2))  # 3

解釋:

  • 2 在列表中出現 3 次。

(3) count() 在元組中的使用:

tup = (1, 2, 2, 3, 4, 2)
print(tup.count(2))  # 3

2. Counter 類的介紹

Countercollections 模塊中的一個計數器工具,適用于統計可迭代對象中每個元素的出現次數,返回一個類似字典的對象,其中鍵是元素,值是該元素出現的次數

Counter 的基本使用:

from collections import Counter
?
word = "banana"
counter = Counter(word)  # 統計字符出現次數
print(counter) ?
# 輸出:Counter({'a': 3, 'n': 2, 'b': 1})

解釋:

  • Counter 自動計算 "banana" 中每個字符的出現次數,并返回 Counter 類型對象。

Counter 在列表中的使用:

nums = [1, 2, 3, 2, 2, 4, 3, 1, 5]
counter = Counter(nums)
print(counter) ?
# 輸出:Counter({2: 3, 1: 2, 3: 2, 4: 1, 5: 1})

3. count()Counter 的區別

特性count()Counter
適用對象字符串、列表、元組任何可迭代對象
統計方式僅能統計一個元素的出現次數統計所有元素的出現次數
返回值類型整數(某個元素的出現次數)Counter字典(所有元素的統計結果)
適合場景需要統計單個元素的出現次數需要統計所有元素的次數,并進行排序或其他分析

4. Counter 的高級應用

(1) 找出出現最多的 n 個元素 (most_common())

word = "banana"
counter = Counter(word)
print(counter.most_common(1)) ?
# 輸出:[('a', 3)],表示 'a' 出現了 3 次,且是最多的

(2) 統計列表中最常出現的前 n 個元素:

nums = [1, 2, 3, 2, 2, 4, 3, 1, 5]
counter = Counter(nums)
print(counter.most_common(2)) ?
# 輸出:[(2, 3), (1, 2)]
# 說明:元素 2 出現 3 次,元素 1 出現 2 次

(3) Counter 可以直接進行出現次數加減運算:

c1 = Counter("banana")
c2 = Counter("band")
print(c1 + c2) ?
# 輸出:Counter({'a': 4, 'n': 3, 'b': 2, 'd': 1})

解釋:

  • c1 統計 "banana"

  • c2 統計 "band"

  • 相加后,統計結果合并。


5.Counter的另一種使用

》斜線為i-j 對應著y=-x----可以想一下線代矩陣里面的正對角線就是正斜線

反斜線為i+j 對應著y=x

其中r和l一開始都是默認的字典性

Ⅵ.max和min的使用---可以直接連用max(max(lst))

Ⅶ.格式化字符串format

Ⅷ.itertools迭代器

應用實例:使用itertools求前綴和S(n)

Ⅸ.笛卡爾積

Ⅹ.無窮小和無窮大的表示方法

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

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

相關文章

lesson52:CSS進階指南:雪碧圖與邊框技術的創新應用

目錄 一、CSS雪碧圖:從性能優化到交互革命 1.1 技術原理與現代價值 1.2 2025年實現工具與自動化流程 1.2.1 構建工具集成方案 1.2.2 在線生成工具推薦 1.3 高級應用案例與代碼實現 1.3.1 多狀態按鈕系統 1.3.2 響應式雪碧圖實現 1.4 最佳實踐與性能優化 二…

案例——從零開始搭建 ASP.NET Core 健康檢查實例

1. 項目創建與基礎設置 創建新項目 首先,創建一個新的 ASP.NET Core Web API 項目: dotnet new webapi -n HealthCheckDemo cd HealthCheckDemo添加必要的 NuGet 包 添加健康檢查相關的 NuGet 包: dotnet add package Microsoft.AspNetCore.D…

【Java生產級避坑指南】8. Tomcat線程池下的內存地雷:ThreadLocal泄漏檢測與實戰解決

摘要:某金融交易系統(Spring Boot 2.7 + Tomcat 9)在線上運行時出現嚴重內存泄漏:堆內存(4GB)72小時內耗盡并觸發OOM,日均200萬請求場景下,Full GC頻率從正常1次/天飆升至6次/小時。排查發現,根源是ThreadLocal未清理——Tomcat線程池復用線程時,UserInfo等大對象被T…

云端職達:你的AI求職專屬獵頭,顛覆傳統招聘模式

在求職的“金三銀四”或“金九銀十”,每一分每一秒都彌足珍貴。面對浩如煙海的招聘信息,你是否還在花費大量時間一條條篩選、重復投遞簡歷,最終卻常常石沉大海?傳統求職方式的低效和“已讀不回”的窘境,讓許多求職者感…

Parasoft C/C++test如何實現開發環境內嵌的安全檢測

Parasoft 作為嵌入式質量與安全領域的全球領先供應商,其 C/Ctest 平臺依托 IDE 級原生集成、實時合規檢測引擎與缺陷閉環治理框架,將傳統靜態應用安全測試由項目末期集中執行前移至編碼階段,顯著降低缺陷修復成本并縮短認證周期,為…

leetcode-每日一題-人員站位的方案數-C語言

3025. 人員站位的方案數 I 輸入&#xff1a; 2 < n < 50 points[i].length 2 0 < points[i][0], points[i][1] < 50 points[i] 點對兩兩不同。 // 按x降序&#xff0c;按y升序 int cmp(const void *a, const void *b) {int *p *(int **)a;int *q *(int **)b;if(…

ClickHouse中的ON CLUSTER關鍵字

目錄 ClickHouse中的ON CLUSTER關鍵字 前置基礎 ClickHouse 中的 MergeTree 與 ReplicatedMergeTree ON CLUSTER 查詢在集群上的正確用法(為什么 查詢/寫入數據 不用 ON CLUSTER) 與不使用 ON CLUSTER 的區別 注意事項與坑 常用配套命令 ClickHouse中的ON CLUSTER關鍵字 前置…

Python繪圖動態可視化:實時音頻流

在數據可視化中&#xff0c;動畫是一種非常有效的方式&#xff0c;可以幫助我們更好地理解數據的變化和動態過程。Python 的 matplotlib.animation 模塊提供了強大的功能來創建動畫。本文將介紹如何使用 matplotlib.animation 創建簡單的動畫&#xff0c;并展示一個更復雜的實時…

【Vue2 ?】Vue2 入門之旅(七):事件處理

在前幾篇文章中&#xff0c;我們學習了指令與過濾器。本篇將介紹 事件處理&#xff0c;重點包括 v-on、事件修飾符以及鍵盤事件。 目錄 事件綁定 v-on事件修飾符鍵盤事件小結 事件綁定 v-on Vue 使用 v-on&#xff08;縮寫 &#xff09;來監聽事件。 <div id"app&qu…

高效數據傳輸的秘密武器:Protobuf

當涉及到網絡通信和數據存儲時&#xff0c;數據序列化一直都是一個重要的話題&#xff1b;特別是現在很多公司都在推行微服務&#xff0c;數據序列化更是重中之重&#xff0c;通常會選擇使用 JSON 作為數據交換格式&#xff0c;且 JSON 已經成為業界的主流。但是 Google 這么大…

騰訊混元翻譯大模型Hunyuan-MT-7B:重塑跨語言溝通的技術革命

騰訊混元翻譯大模型Hunyuan-MT-7B&#xff1a;重塑跨語言溝通的技術革命 騰訊混元Hunyuan-MT-7B大模型的發布標志著機器翻譯領域進入全新時代&#xff0c;本文將深入解析這一突破性技術如何實現30種語言翻譯冠軍的卓越表現 一、Hunyuan-MT-7B核心架構解析 1.1 基于Transformer的…

End-To-End 之于推薦-kuaishou OneRec2 筆記

End_To_End 之于推薦onerec里&#xff0c;快手利用大模型做了推薦架構的革命&#xff0c;幾個月后&#xff0c;v2之于v1是一些技術細節進行了進一步迭代&#xff0c;主要是以下兩個方面&#xff1a; 1. 架構層面的突破&#xff1a;Lazy Decoder-Only 背景問題&#xff1a;V1 的…

【LeetCode】3670. 沒有公共位的整數最大乘積 (SOSDP)

3670. 沒有公共位的整數最大乘積 - 力扣&#xff08;LeetCode&#xff09; 題目&#xff1a; 思路&#xff1a; SOSDP 本題我們顯然不能枚舉每一個數對&#xff0c;n 的復雜度顯然超時&#xff0c;所以考慮優化 我們考慮一個二進制數 mask&#xff0c;因為我們必須要選沒有任…

Sping Web MVC入門

1.什么是Sping Web MVC1.1MVC定義2.什么是Spring MVC

LLM面試50問:NLP/RAG/部署/對齊/安全/多模態全覆蓋

太好了!下面按你點名的 6 大主題(NLP、檢索/RAG、部署、對齊、 安全、多模態)給出深度版答案 + 關鍵公式/推導 + 最小可跑示例代碼 + 常見坑。都盡量精煉到“拿來即用/面試可白板推導”的粒度。 NLP(架構、位置編碼、指令跟隨) 1) RoPE 長上下文與縮放 要點:RoPE 將位置…

計算機網絡技術(四)完結

七&#xff0c;虛擬局域網VLAN1&#xff0c;VLAN概述通過設置虛擬局域網來實現&#xff0c;pc之間實現快速安全通信。對比說明&#xff1a;之前交換機的廣播來實現通信&#xff0c;但同意也帶來了幾個問題&#xff0c;過大的廣播域&#xff0c;造成了帶寬的浪費&#xff0c;過大…

VibeVoice 部署全指南:Windows 下的挑戰與完整解決方案

VibeVoice 部署全指南&#xff1a;Windows 下的挑戰與完整解決方案 目標讀者&#xff1a;希望在本地部署 VibeVoice 進行文字轉語音&#xff08;TTS&#xff09;的開發者、研究人員或愛好者 關鍵詞&#xff1a;VibeVoice、FlashAttention-2、Windows 部署、CUDA 加速、FFmpeg、…

一次別開生面的Java面試

場景描述&#xff1a; 在一家知名互聯網大廠的面試室中&#xff0c;謝飛機&#xff0c;一個自信滿滿的程序員&#xff0c;正在經歷一場別開生面的Java面試。面試官以嚴肅的態度開始了這場技術問答。第一輪&#xff1a;基礎知識問答 面試官&#xff1a;"我們先從簡單的開始…

web自動化測試(selenium)

目錄 測試前的準備 驅動 安裝驅動管理 selenium庫 使用selenium編寫代碼 自動化測試常用函數 元素的定位 cssSelector xpath 查找元素 點擊/提交對象 模擬按鍵輸入 清除文本內容 獲取文本信息 獲取當前頁面標題和URL 窗口 切換窗口 窗口設置大小 屏幕截圖 …

民間藥方偏方網站整站源碼 帶數據PHP版

內容目錄一、詳細介紹二、效果展示1.部分代碼2.效果圖展示三、學習資料下載一、詳細介紹 民間藥方偏方網站整站源碼 帶數據PHP版 這是一個聚焦中國民間藥方的平臺。平臺設有搜索功能&#xff0c;方便用戶查找藥方&#xff0c;還對藥方進行了內科、外科、腫瘤等多類分類&#x…