[轉載] Python數據類型知識點全解

来源:https://www.cnblogs.com/cany/archive/2019/05/18/10887562.html
-Advertisement-
Play Games

[轉載] Python數據類型知識點全解 1.字元串 字元串常用功能 字元串的內置方法 2.列表 3.元組 4.字典 5.集合 ...


[轉載] Python數據類型知識點全解

1.字元串

字元串常用功能

name = 'derek'
print(name.capitalize())    #首字母大寫  Derek
print(name.count("e"))      #統計字元串出現某個字元的個數  2
print(name.center(10,'*'))  #列印30個字元,不夠的“*”補齊   **derek***
print(name.endswith('k'))   #判斷字元串是否以"k"結尾   True

print('244'.isdigit())      #判斷字元是否為整數      True
print('+'.join(['1','2','3']))   #把join後的內容加入到前面字元串中,以+為分割符   1+2+3
print('\n123'.strip())       #strip去掉換行符
print("1+2+3+4".split("+"))   #以+為分隔符生成新的列表,預設不寫為空格    ['1', '2', '3', '4']

msg = 'my name is {name} and i am {age} old'
print(msg.format(name='derek',age=20))

my name is derek and i am 20 old

字元串的內置方法

1 # string.capitalize()                                  把字元串的第一個字元大寫
2 # string.center(width)                                 返回內容是原字元串居中,並使用空格填充至長度為 width 的新字元串
3 # string.count(str, beg=0, end=len(string))            返回 str 在 string 裡面出現的次數,如果 beg 或者 end 指定則返回指定範圍內 str 出現的次數
4 # string.decode(encoding='UTF-8', errors='strict')     以 encoding 指定的編碼格式解碼 string,如果出錯預設報一個 ValueError 的 異 常 , 除 非 errors 指 定 的 是 'ignore' 或 者'replace'
5 # string.encode(encoding='UTF-8', errors='strict')     以 encoding 指定的編碼格式編碼 string,如果出錯預設報一個ValueError 的異常,除非 errors 指定的是'ignore'或者'replace'
6 # string.endswith(obj, beg=0, end=len(string))         檢查字元串是否以 obj 結束,如果beg 或者 end 指定則檢查指定的範圍內是否以 obj 結束,如果是,返回 True,否則返回 False.
7 # string.expandtabs(tabsize=8)                         把字元串 string 中的 tab 符號轉為空格,tab 符號預設的空格數是 8。
8 # string.find(str, beg=0, end=len(string))             檢測 str 是否包含在 string 中,如果 beg 和 end 指定範圍,則檢查是否包含在指定範圍內,如果是返回開始的索引值,否則返回-1
9 # string.index(str, beg=0, end=len(string))            跟find()方法一樣,只不過如果str不在 string中會報一個異常.
10 # string.isalnum()                                     如果 string 至少有一個字元並且所有字元都是字母或數字則返回 True,否則返回 False
11 # string.isalpha()                                     如果 string 至少有一個字元並且所有字元都是字母則返回 True,否則返回 False
12 # string.isdecimal()                                   如果 string 只包含十進位數字則返回 True 否則返回 False.
13 # string.isdigit()                                     如果 string 只包含數字則返回 True 否則返回 False.
14 # string.islower()                                     如果 string 中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是小寫,則返回 True,否則返回 False
15 # string.isnumeric()                                   如果 string 中只包含數字字元,則返回 True,否則返回 False
16 # string.isspace()                                     如果 string 中只包含空格,則返回 True,否則返回 False.
17 # string.istitle()                                     如果 string 是標題化的(見 title())則返回 True,否則返回 False
18 # string.isupper()                                     如果 string 中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是大寫,則返回 True,否則返回 False
19 # string.join(seq)                                     以 string 作為分隔符,將 seq 中所有的元素(的字元串表示)合併為一個新的字元串
20 # string.ljust(width)                                  返回一個原字元串左對齊,並使用空格填充至長度 width 的新字元串
21 # string.lower()                                       轉換 string 中所有大寫字元為小寫.
22 # string.lstrip()                                      截掉 string 左邊的空格
23 # string.maketrans(intab, outtab])                     maketrans() 方法用於創建字元映射的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字元串,表示需要轉換的字元,第二個參數也是字元串表示轉換的目標。
24 # max(str)                                             返回字元串 str 中最大的字母。
25 # min(str)                                             返回字元串 str 中最小的字母。
26 # string.partition(str)                                有點像 find()和 split()的結合體,從 str 出現的第一個位置起,把 字 符 串 string 分 成 一 個 3 元 素 的 元 組 (string_pre_str,str,string_post_str),如果 string 中不包含str 則 string_pre_str == string.
27 # string.replace(str1, str2,  num=string.count(str1))  把 string 中的 str1 替換成 str2,如果 num 指定,則替換不超過 num 次.
28 # string.rfind(str, beg=0,end=len(string) )            類似於 find()函數,不過是從右邊開始查找.
29 # string.rindex( str, beg=0,end=len(string))           類似於 index(),不過是從右邊開始.
30 # string.rjust(width)                                  返回一個原字元串右對齊,並使用空格填充至長度 width 的新字元串
31 # string.rpartition(str)                               類似於 partition()函數,不過是從右邊開始查找.
32 # string.rstrip()                                      刪除 string 字元串末尾的空格.
33 # string.split(str="", num=string.count(str))          以 str 為分隔符切片 string,如果 num有指定值,則僅分隔 num 個子字元串
34 # string.splitlines(num=string.count('\n'))            按照行分隔,返回一個包含各行作為元素的列表,如果 num 指定則僅切片 num 個行.
35 # string.startswith(obj, beg=0,end=len(string))        檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定範圍內檢查.
36 # string.strip([obj])                                  在 string 上執行 lstrip()和 rstrip()
37 # string.swapcase()                                    翻轉 string 中的大小寫
38 # string.title()                                       返回"標題化"的 string,就是說所有單詞都是以大寫開始,其餘字母均為小寫(見 istitle())
39 # string.translate(str, del="")                        根據 str 給出的表(包含 256 個字元)轉換 string 的字元,要過濾掉的字元放到 del 參數中
40 # string.upper()                                       轉換 string 中的小寫字母為大寫

2.列表

#創建
fruit = ['apple','pear','grape','orange']   

#切片
print(fruit[1])      #pear
print(fruit[1:3])    #['pear', 'grape']
print(fruit[-1])     #orange
print(fruit[:2])     #['apple', 'pear']

#追加
fruit.append('peach')
print(fruit)         #['apple', 'pear', 'grape', 'orange', 'peach']

#刪除
fruit.remove('peach')   #刪除指定的
print(fruit)         #['apple', 'pear', 'grape', 'orange']

fruit.pop()          #刪除列表最後一個元素
print(fruit)         #['apple', 'pear', 'grape']

del fruit[2]         #刪除指定的索引
print(fruit)         #['apple', 'pear']

#插入
fruit.insert(1,'grape')   #把‘grape’加入到索引為1的位置
print(fruit)         #['apple', 'grape', 'pear']

#修改
fruit[2] = 'orange'  #直接修改
print(fruit)         #['apple', 'grape', 'orange']

#擴展
fruit1 = ['apple','orange']
fruit2 = ['pear','grape']
fruit1.extend(fruit2)
print(fruit1)         #['apple', 'orange', 'pear', 'grape']

#統計
print(fruit1.count('apple'))    #1

#排序
fruit1.sort()
print(fruit1)     #['apple', 'grape', 'orange', 'pear']

fruit1.reverse()
print(fruit1)     #['pear', 'orange', 'grape', 'apple']

#獲取下標
print(fruit1.index('apple'))    #3

#同時獲取下標和值
for index,item in enumerate(fruit1):
   print(index,item)
   
#結果    
0 pear
1 orange
2 grape
3 apple

3.元組

#創建元組
fruit = ('apple','orange','grape')

#常用功能
print(fruit.count('apple'))   #1
print(fruit.index('orange'))  #1

4.字典

#創建
fruit = {1:'apple',2:'orange',3:'grape'}
print(fruit)

#增加
fruit[4] = 'pear'
print(fruit)      #{1: 'apple', 2: 'orange', 3: 'grape', 4: 'pear'}

#修改
fruit[4] = 'peach'
print(fruit)      #{1: 'apple', 2: 'orange', 3: 'grape', 4: 'pear'}

#刪除
fruit.pop(4)       #刪除指定的key
print(fruit)       #{1: 'apple', 2: 'orange', 3: 'grape'}

#查找value
print(fruit.get(1))     #apple


fruit = {1:'apple',2:'orange',3:'grape'}

#迴圈
for k,v in fruit.items():
   print(k,v)

1 apple
2 orange
3 grape

for k in fruit.keys():
   print(k)

1
2
3

for v in fruit.values():
   print(v)
   
apple
orange
grape

5.集合

#創建
fruit = set(['apple','orange','pear'])
print(fruit)         #{'orange', 'pear', 'apple'}

#添加
fruit.add('grape')   #add只能添加一個
print(fruit)         #{'apple', 'orange', 'pear', 'grape'}

fruit.update(['peach','banana'])    #update添加多個
print(fruit)
{'banana', 'pear', 'apple', 'peach', 'grape', 'orange'}

#刪除
fruit.remove('banana')    #刪除指定的
print(fruit)

fruit.pop()    #隨機刪除
print(fruit)



num1 = set([11,22,33,44])
num2 = set([33,44,55,66])

# 並集
print(num1.union(num2))     #{66, 11, 22, 33, 44, 55}

# 差集
print(num1.difference(num2))    #{11, 22}

# 交集
print(num1.intersection(num2))   #{33, 44}

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原文地址:https://www.cnblogs.com/huangxm/p/6274645.html#undefined FTP服務的主動模式和被動模式 在開始之前,先聊一下FTP的主動模式和被動模式,兩者的區別 , 用兩張圖來表示可能會更加清晰一些: 主動模式: 主動模式工作過程: 1. 客戶端 ...
  • 最近有一個網友讓我幫他寫一個工具分析基金回撤情況,前幾天項目比較忙就直沒動手,今天晚上有點時間,研究了一下。 先把今天的研究成果分享: 要分析基金凈值回撤,首先肯定要有基金的凈值變化數據。要抓數據肯定是到天天基金網上抓,畢竟人家是專業機構。 我找了一隻個人比較喜歡的基金,易方達中小盤混合 (1100 ...
  • 介面 介面就是一種公共的規範標準 是一種引用數據類型 定義格式 public interface 介面名稱{} java7 中介面可以包含常量,抽象方法;Java8 還可以額外包含預設方法,靜態方法;Java 9 還可以額外包含私有方法 介面的抽象方法使用 介面使用步驟: 1. 介面不能夠直接使用, ...
  • 前面已經講解了公平模式的內容,今天來講解下關於非公平模式下的SynchronousQueue是如何進行工作的,在源碼分析的時候,先來簡單看一下非公平模式的簡單原理,它採用的棧這種FILO先進後出的方式進行非公平處理,它內部有三種狀態,分別是REQUEST,DATA,FULFILLING,其中REQU... ...
  • Set介面中的方法和Collection中方法一致的。Set介面取出方式只有一種,迭代器。 |--HashSet:底層數據結構是哈希表,線程是不同步的。無序,高效; HashSet集合保證元素唯一性:通過元素的hashCode方法,和equals方法完成的。 當元素的hashCode值相同時,才繼續 ...
  • 環境ubutun14,python版本是python3.6. 今天在安裝Pip 時出現ModuleNotFoundError: No module named 'distutils.util'。操作步驟如下: 我們可以通過以下命令來判斷是否已安裝: 如果還未安裝,則可以使用以下方法來安裝: 註意:用 ...
  • // ConsoleApplication1.cpp: 定義控制台應用程式的入口點。//#include "stdafx.h"#include <iostream>#include <string>using namespace std; int countnubstr(string str){ i ...
  • 我們在項目開發中有很多地方使用到了註解,關於註解的定義與創建小伙伴可以參考我的文章《java註解》。有任何問題的小伙伴們可以在評論區指出哦,歡迎各位大佬指出問題。 今天我要說的是使用註解與反射結合使用,來使我們代碼根據優雅,更加高大上(咳,裝逼神器啊)。 註解使用@interface 來定義,辣麽我 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...