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字串
- 學習Rust 集合與字串Rust字串
- PAT-B 1093 字串A+B 【集合】字串
- 按指定格式遍歷集合字串字串
- [swift 進階]讀書筆記-第六章:字串 C7P2 字串和集合Swift筆記字串
- 集合框架(List儲存字串並遍歷)框架字串
- Hash Map集合和Hash Set集合
- 字典和集合
- 【java】【集合】陣列和集合的基本概述Java陣列
- 泛型方法、初始集合和集合的遍歷泛型
- 洛谷題單指南-集合-P3370 【模板】字串雜湊字串
- 陣列和字串陣列字串
- 字串— padStart() 和 padEnd()字串
- Java™ 教程(比較字串和字串的部分)Java字串
- 07.集合和泛型泛型
- 字串大小寫轉換和字串的比較字串
- 字串和字元的操作字串字元
- 字串— trim()、trimStart() 和 trimEnd()字串
- Python的字典、集合和函式Python函式
- MySQL 字串索引和字首索引MySql字串索引
- python學習之字串常用方法和格式化字串Python字串
- Java集合框架中的介面和類Java框架
- C#規範整理·集合和LinqC#
- 【廖雪峰python入門筆記】raw 字串和多行字串表示Python筆記字串
- Python中列表、元組、字典、集合與字串,相關函式,持續更新中……Python字串函式
- 字串和陣列常用方法整理字串陣列
- 字串的常用屬性和方法字串
- 字串拼接+和concat的區別字串
- 06.字元和字串處理字元字串
- Python字串中的r和uPython字串
- 多個字串和模式使用grep字串模式
- Electron 截圖踩坑和優化集合優化
- Python學習之路22-字典和集合Python
- 內建資料結構集合和字典資料結構
- <<快速入手Rust>>14.HashMap和其他集合RustHashMap
- 【Java集合】1 集合概述Java
- Golang語言包-字串處理strings和字串型別轉換strconvGolang字串型別
- c++中utf8字串和gbk字串的轉換C++字串