Python數(shù)據(jù)容器0基礎(chǔ)入門解析之字符串到字典
一,數(shù)據(jù)容器之字符串
1.定義字符串
數(shù)據(jù)容器里面的字符串:是存放多個字符的容器
1.字符串不能嵌套(字符串中的每一個元素都是單個字符)
2.根據(jù)下標(biāo) 空格也算
3.字符串中的字符不可修改
2.常用方法
1.index:獲取指定字符在字符串中第一次出現(xiàn)的下標(biāo)
2.split:將字符串按照指定字符進(jìn)行分隔,并返回一個新的列表,不改變原來的列表
3.replace:將字符串中的某個字符串片段,替換成目標(biāo)字符串,不改變原來的字符串,返回新的字符串
4.count:統(tǒng)計(jì)指定字符在字符串中出現(xiàn)的次數(shù)


5.strip:從某個字符串中刪除指定字符串中的任意字符。從字符串兩端開始刪除,直到遇到第一個不在指定字符串中的字符就停下


3.內(nèi)置函數(shù)
1.len函數(shù):統(tǒng)計(jì)字符串中字符的個數(shù)字符串的長度


2.max函數(shù):返回字符串中Unicode編碼值最大的字符
3.min函數(shù):返回字符串中Unicode編碼值最小的字符
4.sorted函數(shù):字符串安Unicode編碼值排序,返回新的列表
4.循環(huán)遍歷
1.while循環(huán)


2.for循環(huán)


二,數(shù)據(jù)容器之序列
序列(可以是列表,元組,字符串):能連續(xù)存放元素的數(shù)據(jù)容器,元素有先后順序,且可以通過下標(biāo)訪問
1.切片:
從序列中按照指定范圍,取出一部分元素,形成一個新的序列的操作
語法:序列[起始索引:結(jié)束索引:步長]
起始索引默認(rèn)為0(下標(biāo))結(jié)束索引默認(rèn)到結(jié)尾元素總數(shù)步長(你可以大于元素總數(shù)):默認(rèn)為1。也就是說你可以不寫


注意:當(dāng)起始索引值大于結(jié)束索引值,步長必須為負(fù)數(shù)(這樣就是反向取值)否則結(jié)果是空列表
如果結(jié)束索引值和起始索引值都為默認(rèn)值,如果步長為負(fù)數(shù),python會自動對調(diào)起始索引值和結(jié)束索引值
2.相加
新序列=序列1+序列2
注意:兩個同類型的序列才能相加(字符串+字符串。列表+列表。元組+元組)


3.相乘
新序列=序列*n(n必須是整數(shù),不能是浮點(diǎn)數(shù))


三,數(shù)據(jù)容器之集合
集合特點(diǎn):內(nèi)部的元素沒有順序,不能通過下標(biāo)訪問元素,會自動去除重復(fù)元素,集合中元素必須是不可變元素 (數(shù)字元組字符串)不在乎順序就可以使用集合
1.定義集合:
1.可變集合:創(chuàng)建后可以增刪元素
語法{元素0, 元素1, 元素2,........}
這里的True和1重復(fù)去除了


2.不可變集合:創(chuàng)建不可以增刪元素
語法:frozenset({元素0, 元素1, 元素2,........})frozenset函數(shù)接收的參數(shù),可以是任意可以迭代對象,但是返回的是不可變集合
3.定義空集合
1.定義可變空集合:s1=set()注意直接寫{}是定義空字典
2.定義不可變空集合:s1=frozenset()


2.集合嵌套
集合中不能嵌套可變集合,但是可以嵌套不可變集合
frozenset函數(shù)也可以加進(jìn)去,我只加了元組


3.增刪改查
1.增加
集合.add(元素)作用:向集合中添加元素返回值:無
集合.update(元素)作用:向集合中批量添加元素(接受可迭代對象例如:列表,元組,集合)
返回值:無


2.刪除
集合.remove(元素)作用:從集合中移除指定元素(元素不存在會報(bào)錯)返回值:無
集合.discard(元素)作用:從集合中移除指定元素(元素不存在也不會報(bào)錯)返回值:無


集合.pop()作用:從集合中移除一個任意元素(隨機(jī)的元素),返回值:移除的那一個元素
集合.clear()作用:清空集合 返回值:無
3.更改
集合沒有下標(biāo),也不支持replace方法,所以集合沒有專門的方法
我們可以使用 remove+add的組合,達(dá)到修改的效果


4.查詢
由于集合沒有下標(biāo),不支持切片操作,所以集合不具備按位置訪問的能力
所以可以使用成員運(yùn)算符判斷適用所有的數(shù)據(jù)容器


4.常用方法
- 集合A.difference(集合B)作用:找出集合A中,不同于集合B的元素 (AB集合不變)返回值:一個新的集合
- 集合A.difference_update(集合B)作用:從集合A中,刪除集合B中存在的元素 (A的集合會改變)返回值:無
- 集合A.union(集合B)作用:合并兩個集合,集合A和 集合B都不變 返回值:一個新的集合
- 集臺A.issubset(集合B)作用:判斷集合A是否為集合B的子集 返回值:布爾值
- 集合A.issuperset(集合B)作用:判斷集合A是否是集合B的超集,集合A是否包含集合B中的所有元素 包含就返回True反之 返回值:布爾值


集合A.isdisjoint(集合B)作用:判斷集合A和集合B是否沒有交集 有公共元素就返回False 返回值:布爾值
5.數(shù)學(xué)運(yùn)算
集合A|集合B 并集(找出集合A中,不同于集合B的元素)
集合A&集合B交集(找出集合A和集合B中,共有的元素)
集合A-集合B差集 (得到屬于集合A,但不屬于集合B的元素)


集合A^集合B對稱差集(排除兩個集合的交集,然后合并剩下的元素)
6.集合循環(huán)遍歷
集合不能使用while循環(huán)遍歷,但是可以使用for循環(huán)遍歷(while循環(huán)遍歷需要通過下標(biāo)進(jìn)行訪問元素,集合沒有下標(biāo),且無序)


四,數(shù)據(jù)容器之字典
特點(diǎn)
1.鍵值對結(jié)構(gòu):字典中的數(shù)據(jù)以key:value的形式存在,每個鍵都對應(yīng)一個值。
2.鍵唯一;字典中的鍵(key)不能重復(fù),若重復(fù)則后寫的會覆蓋前寫的。
3、鍵不可變:鍵必須是不可變類型(如數(shù)字、字符串、元組等),而值可以是任意類型。
4.不克持下標(biāo):字典中的元素不能通過下標(biāo)取值。
5.支持增刪改査,支持for循環(huán)遭歷。
字典是需要唯一標(biāo)識時使用
1.字典定義:
對應(yīng)關(guān)系:鍵(key)與值(value)的對應(yīng)關(guān)系

鍵(key)必須是不可變類型(例如:元組),但值(value)可以是任意類型


2.字典嵌套


3.增刪改查
1.增加


2.更改
如果字典中有對應(yīng)的Key,就更改沒有就新增
1.單個更改:


2.多個修改


3.刪除
1.刪除key對應(yīng)的鍵值對


2.使用pop刪除key對應(yīng)的鍵值對,返回這個key對應(yīng)的值
3.使用pop還可以增加默認(rèn)值(如果刪除不存在的鍵值,就會報(bào)錯,加默認(rèn)值就不會了)


4.查詢
1.直接取值

2.安全取值

5.清空
4.常用方法
1.字典.keys()獲取字典中所有的鍵返回類型dict_keys


他可以被遍歷但是不能通過下標(biāo)訪問元素


2.所以我們可以通過list函數(shù),將dict_keys轉(zhuǎn)化為list


3.字典.values()獲取字典中所有的值返回值類型dict_values
他可以被遍歷但是不能通過下標(biāo)訪問元素
4.字典.items()獲取字典中所有的鍵值對(每一組鍵值對以元組的形式呈現(xiàn))返回值類型dict_items
他可以被遍歷但是不能通過下標(biāo)訪問元素
5.循環(huán)遍歷
字典不能while循環(huán)遍歷,可以使用for循環(huán)
兩種方法


五,數(shù)據(jù)容器之通用操作
1.list函數(shù)
1.定義空列表2.將可迭代對象轉(zhuǎn)化為列表


tuple函數(shù)
1.定義空元組2.將可迭代對象轉(zhuǎn)化為元組
set函數(shù)
1.定義空集合2.將任意類型轉(zhuǎn)換為集合
str函數(shù)
1.定義空字符串2.將任意類型轉(zhuǎn)換為字符串


dict函數(shù)
1.定義空字典2.將可迭代對象轉(zhuǎn)換為字典


所有數(shù)據(jù)容器,都支持成員運(yùn)算符:in/not in 作用:判斷某個元素是否存在于容器


六,數(shù)據(jù)容器之總結(jié)
1.有序與無序
有限:列表(list)、元組(tuple)、字符串(str)元素有順序,可通過下標(biāo)訪問元素
無序:集合(set)、字典(dict)元素沒有固定位置,不能用下標(biāo)訪問。
2.修改
可變:列表(list)、集合(set)、字典(dict)”可以對內(nèi)容進(jìn)行增、刪、改操作。
不可變:元組(tuple)、字符串(str) 內(nèi)容固定,創(chuàng)建后無法修改 。
3.可重復(fù)
可重復(fù)。:列表(list)元組(tuple)字符串(str)
不可重復(fù):集合(set)字典(dict) 備注:字典的 key 是唯一的,但 value 可重復(fù)

總結(jié)
到此這篇關(guān)于Python數(shù)據(jù)容器0基礎(chǔ)入門解析之字符串到字典的文章就介紹到這了,更多相關(guān)Python字符串到字典內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python數(shù)學(xué)建模是加深Numpy和Pandas學(xué)習(xí)
這篇文章主要介紹了python數(shù)學(xué)建模是加深Numpy和Pandas學(xué)習(xí),緊接上一篇學(xué)習(xí)內(nèi)容展開Numpy更多相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-07-07
Python利用matplotlib.pyplot.boxplot()繪制箱型圖實(shí)例代碼
相信大家應(yīng)該都知道Python繪制箱線圖主要用matplotlib庫里pyplot模塊里的boxplot()函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python利用matplotlib.pyplot.boxplot()繪制箱型圖的相關(guān)資料,需要的朋友可以參考下2022-08-08
python科學(xué)計(jì)算之scipy——optimize用法
今天小編就為大家分享一篇python科學(xué)計(jì)算之scipy——optimize用法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python3第三方爬蟲庫BeautifulSoup4安裝教程
這篇文章主要為大家詳細(xì)介紹了python3第三方爬蟲庫BeautifulSoup4的安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
一文總結(jié)學(xué)習(xí)Python的14張思維導(dǎo)圖
一文總結(jié)學(xué)習(xí)Python的14張思維導(dǎo)圖,本文涵蓋了Python編程的核心知識,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
Python環(huán)境下安裝PyGame和PyOpenGL的方法
這篇文章主要介紹了Python環(huán)境下安裝PyGame和PyOpenGL的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
python使用裝飾器和線程限制函數(shù)執(zhí)行時間的方法
這篇文章主要介紹了python使用裝飾器和線程限制函數(shù)執(zhí)行時間的方法,主要涉及timelimited函數(shù)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
Python發(fā)送http請求解析返回json的實(shí)例
下面小編就為大家分享一篇Python發(fā)送http請求解析返回json的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
詳解Python如何實(shí)現(xiàn)輸出顏色字體到終端界面
在終端中,輸出的字體總是單一顏色的,黑底白字。但是在一些場景并不能很好的滿足輸出的需求。本文為大家介紹了Python如何實(shí)現(xiàn)輸出顏色字體到終端界面中,需要的可以參考一下2022-12-12

