2020_9_29_集合和字串
集合(set)
集合是容器型資料型別, 將{}作為容器的標誌裡面多個元素用逗號隔開:{元素1,元素2,元素3,…}
可變的;無序的
元素:不可變的資料;唯一的
x = {} # 空字典
s1 = set() # 空集合
s3 = {10, ‘abc’, [1, 2]} # TypeError: unhashable type: ‘list’
元素是唯一的
s4 = {10, 20, 30, 10, 10}
print(s4) # {10, 20, 30}
集合是無序的
print({1, 3, 5} == {5, 1, 3}) # True
集合的增刪改查
補充:通過for迴圈遍歷無序序列的時候,都是先將序列轉換成列表,然後遍歷列表
查
集合只能遍歷
增
集合.add(元素) - 在集合中新增指定元素
集合.update(序列) - 將序列中所有的元素新增到集合中
刪
集合.remove(元素) - 刪除集合中指定的元素(元素不存在會報錯)
集合.discard(元素) - 刪除集合中指定的元素(元素不存在不會報錯)
改
先刪除原來的,再新增新的
python中的集合支援數學中的集合運算:&(交集)、|(並集)、-(差集)、^(對稱差集)、 >、<、>=, <=(判斷包含關係)
字串(str)
字串是容器型資料型別,將’’、""、’’’’’’、""""""作為容器的標誌裡面的每一個基本符號就是字串的元素
字串是不可變的(不支援增刪改)
字串是有序的(支援下標操作)
元素:引號裡面的每個基本單元就是字串的元素,又叫字元(python中只有字元的概念沒有字元對應的型別,一般直接使用長度是1的字串來表示字元)
空串
s1 = ‘’
s2 = “”
s3 = ‘’’’’’
s4 = “”""""
‘’、"" 與 ‘’’’’’、"""""“的區別
‘’、”" - 字串中不能直接換行
字串有序
普通字元
除了轉義字元以外的字元都是普通字元,普通字元在字串中表示這個符號本身,包括:漢字、數字、字母、符號、表情符號等…
‘shdj’、‘收到貨積分’、‘shd23’、’%……&*(’、‘??❀’
轉義字元
在特定的一個或者多個符號前加\讓符號具有特殊功能或者特殊意義。那麼這種帶有\字元就是轉義字元:
\n - 換行
\t - 水平製表符(相當於按一下tab鍵)
’ - 表示一個普通的單引號
" - 表示一個普通的雙引號
\ - 表示一個普通的反斜槓
注意:任意一個轉義字元長度都是1
特殊的轉義字元-編碼字元:\u四位的十六進位制數 - 表示16進位制數對應的編碼值對應的字元
字元編碼
1)什麼是字元編碼
計算機在儲存資料的時候只能存數字(存的數字二進位制補碼),為了能夠讓計算機儲存字元,我們給每一個字元都對應一個固定的數字,那麼每個字元對應的固定的數字就是這個字元的編碼值
2)字元編碼表 - 記錄字元和數字之間一一對應關係的表就是字元編碼表
常見的字元編碼表有兩種:ASCII碼錶、Unicode編碼表(python採用的是Unicode編碼表)
a. ASCII碼錶
ASCII碼錶總共有128個字元對應的編碼,主要包含的是美國的通用符號其中包括:英文標點符號、數字字元、字母字元以及其他的一些符號
ASCII碼錶中,數字字元在字母的前面,大寫字母在小寫字母的前面,大寫字母和小寫字母之間有間接
b. Unicode編碼表
Unicode編碼表包含ASCII碼錶
中文編碼範圍:4e00 ~ 9fa5
編碼字元: \u4位的16進位制編碼值
chr(編碼值) - 獲取編碼值對應的字元
ord(字元) - 獲取字元對應的編碼值(返回的是十進位制數)
字串操作
獲取字元
字串獲取字元和列表獲取元素的方法一樣
獲取單個字元
字串[下標]
字串切片
字串[:]
遍歷
加法和乘法
print(‘abc’ + ‘123’) # ‘abc123’
print(‘you see see you!’ + ‘one day day!’) # ‘you see see you!one day day!’
print(‘abc’*3) # ‘abcabcabc’
比較大小
兩個字串比較大小:比較第一對不相等的字元編碼值的大小
相關文章
- Rust 集合與字串Rust字串
- .NET 基礎拾遺(3): 字串、集合和流字串
- 第七章——字串(字串與集合)字串
- 學習Rust 集合與字串Rust字串
- 集合框架-去重字串案例框架字串
- JS擷取字串方法集合JS字串
- Swift 整理(三)——字串、集合型別Swift字串型別
- 集合框架-去重字串案例-2框架字串
- 按指定格式遍歷集合字串字串
- SQL查詢集合合併成字串SQL字串
- [swift 進階]讀書筆記-第六章:字串 C7P2 字串和集合Swift筆記字串
- 集合框架(List儲存字串並遍歷)框架字串
- PAT-B 1093 字串A+B 【集合】字串
- 【java】【集合】陣列和集合的基本概述Java陣列
- 比較字串和數字串字串
- fastjson json字串和JavaBean、List、Map及複雜集合型別的相互轉換。ASTJSON字串JavaBean型別
- 泛型方法、初始集合和集合的遍歷泛型
- 比較字串和數字串(續)字串
- JavaFX教程-字串和字串表示式Java字串
- Java集合和泛型Java泛型
- 集合框架-HashSet儲存字串、自定義物件並遍歷框架字串物件
- 自定義函式實現字串分割,返回集合型別函式字串型別
- 空字串和空格字串在informix和oralce 的差異字串ORM
- 07.集合和泛型泛型
- 元組和字串字串
- Swift:字元和字串Swift字元字串
- 陣列和字串陣列字串
- Java™ 教程(比較字串和字串的部分)Java字串
- PLSQL Language Referenc-PL/SQL集合和記錄-多維集合SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-集合型別SQL型別
- Swift學習筆記第三篇(字串,陣列,集合,字典)Swift筆記字串陣列
- 字串大小寫轉換和字串的比較字串
- PLSQL Language Referenc-PL/SQL集合和記錄-集合構造器SQL
- 函式和字串排序函式字串排序
- 字串— trim()、trimStart() 和 trimEnd()字串
- 字串和字元的操作字串字元
- 集合框架-ArrayList儲存字串、自定義物件並遍歷泛型版框架字串物件泛型
- 洛谷題單指南-集合-P3370 【模板】字串雜湊字串