python字元串字典
『壹』 python的數據類型有哪些
python數據類型主要分為以下六大類:Numbers(數字)、String(字元串)、List(列表、Tuple(元組)、Dictionary(字典)、Set(集合)。
Python的六個標准數據類型中:
不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組)。
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
字元串類型:
python的字元串或串(String)是由數字、字母、下劃線組成的一串字元。
『貳』 python字典操作函數
字典是一種通過名字或者關鍵字引用的得數據結構,其鍵可以是數字、字元串、元組,這種結構類型也稱之為映射。字典類型是Python中唯一內建的映射類型,基本的操作包括如下:
(1)len():返回字典中鍵—值對的數量;
(2)d[k]:返回關鍵字對於的值;
(3)d[k]=v:將值關聯到鍵值k上;
(4)del d[k]:刪除鍵值為k的項;
(5)key in d:鍵值key是否在d中,是返回True,否則返回False。
(6)clear函數:清除字典中的所有項
(7)函數:返回一個具有相同鍵值的新字典;deep()函數使用深復制,復制其包含所有的值,這個方法可以解決由於副本修改而使原始字典也變化的問題
(8)fromkeys函數:使用給定的鍵建立新的字典,鍵默認對應的值為None
(9)get函數:訪問字典成員
(10)has_key函數:檢查字典中是否含有給出的鍵
(11)items和iteritems函數:items將所有的字典項以列表方式返回,列表中項來自(鍵,值),iteritems與items作用相似,但是返回的是一個迭代器對象而不是列表
(12)keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器
(13)pop函數:刪除字典中對應的鍵
(14)popitem函數:移出字典中的項
(15)setdefault函數:類似於get方法,獲取與給定鍵相關聯的值,也可以在字典中不包含給定鍵的情況下設定相應的鍵值
(16)update函數:用一個字典更新另外一個字典
(17) values和itervalues函數:values以列表的形式返回字典中的值,itervalues返回值得迭代器,由於在字典中值不是唯一的,所以列表中可以包含重復的元素
一、字典的創建
1.1 直接創建字典
d={'one':1,'two':2,'three':3}
printd
printd['two']
printd['three']
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
>>>
1.2 通過dict創建字典
# _*_ coding:utf-8 _*_
items=[('one',1),('two',2),('three',3),('four',4)]
printu'items中的內容:'
printitems
printu'利用dict創建字典,輸出字典內容:'
d=dict(items)
printd
printu'查詢字典中的內容:'
printd['one']
printd['three']
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
items中的內容:
[('one',1), ('two',2), ('three',3), ('four',4)]
利用dict創建字典,輸出字典內容:
{'four':4,'three':3,'two':2,'one':1}
查詢字典中的內容:
>>>
或者通過關鍵字創建字典
# _*_ coding:utf-8 _*_
d=dict(one=1,two=2,three=3)
printu'輸出字典內容:'
printd
printu'查詢字典中的內容:'
printd['one']
printd['three']
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
輸出字典內容:
{'three':3,'two':2,'one':1}
查詢字典中的內容:
>>>
二、字典的格式化字元串
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3,'four':4}
printd
print"three is %(three)s."%d
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'four':4,'three':3,'two':2,'one':1}
threeis3.
>>>
三、字典方法
3.1 clear函數:清除字典中的所有項
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3,'four':4}
printd
d.clear()
printd
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'four':4,'three':3,'two':2,'one':1}
{}
>>>
請看下面兩個例子
3.1.1
# _*_ coding:utf-8 _*_
d={}
dd=d
d['one']=1
d['two']=2
printdd
d={}
printd
printdd
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'two':2,'one':1}
{}
{'two':2,'one':1}
>>>
3.1.2
# _*_ coding:utf-8 _*_
d={}
dd=d
d['one']=1
d['two']=2
printdd
d.clear()
printd
printdd
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'two':2,'one':1}
{}
{}
>>>
3.1.2與3.1.1唯一不同的是在對字典d的清空處理上,3.1.1將d關聯到一個新的空字典上,這種方式對字典dd是沒有影響的,所以在字典d被置空後,字典dd裡面的值仍舊沒有變化。但是在3.1.2中clear方法清空字典d中的內容,clear是一個原地操作的方法,使得d中的內容全部被置空,這樣dd所指向的空間也被置空。
3.2 函數:返回一個具有相同鍵值的新字典
# _*_ coding:utf-8 _*_
x={'one':1,'two':2,'three':3,'test':['a','b','c']}
printu'初始X字典:'
printx
printu'X復制到Y:'
y=x.()
printu'Y字典:'
printy
y['three']=33
printu'修改Y中的值,觀察輸出:'
printy
printx
printu'刪除Y中的值,觀察輸出'
y['test'].remove('c')
printy
printx
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
初始X字典:
{'test': ['a','b','c'],'three':3,'two':2,'one':1}
X復制到Y:
Y字典:
{'test': ['a','b','c'],'one':1,'three':3,'two':2}
修改Y中的值,觀察輸出:
{'test': ['a','b','c'],'one':1,'three':33,'two':2}
{'test': ['a','b','c'],'three':3,'two':2,'one':1}
刪除Y中的值,觀察輸出
{'test': ['a','b'],'one':1,'three':33,'two':2}
{'test': ['a','b'],'three':3,'two':2,'one':1}
>>>
註:在復制的副本中對值進行替換後,對原來的字典不產生影響,但是如果修改了副本,原始的字典也會被修改。deep函數使用深復制,復制其包含所有的值,這個方法可以解決由於副本修改而使原始字典也變化的問題。
# _*_ coding:utf-8 _*_
fromimportdeep
x={}
x['test']=['a','b','c','d']
y=x.()
z=deep(x)
printu'輸出:'
printy
printz
printu'修改後輸出:'
x['test'].append('e')
printy
printz
運算輸出:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
輸出:
{'test': ['a','b','c','d']}
{'test': ['a','b','c','d']}
修改後輸出:
{'test': ['a','b','c','d','e']}
{'test': ['a','b','c','d']}
>>>
3.3 fromkeys函數:使用給定的鍵建立新的字典,鍵默認對應的值為None
# _*_ coding:utf-8 _*_
d=dict.fromkeys(['one','two','three'])
printd
運算輸出:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':None,'two':None,'one':None}
>>>
或者指定默認的對應值
# _*_ coding:utf-8 _*_
d=dict.fromkeys(['one','two','three'],'unknow')
printd
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':'unknow','two':'unknow','one':'unknow'}
>>>
3.4 get函數:訪問字典成員
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
printd.get('one')
printd.get('four')
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
1
None
>>>
註:get函數可以訪問字典中不存在的鍵,當該鍵不存在是返回None
3.5 has_key函數:檢查字典中是否含有給出的鍵
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
printd.has_key('one')
printd.has_key('four')
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
True
False
>>>
3.6 items和iteritems函數:items將所有的字典項以列表方式返回,列表中項來自(鍵,值),iteritems與items作用相似,但是返回的是一個迭代器對象而不是列表
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
list=d.items()
forkey,valueinlist:
printkey,':',value
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
three :3
two :2
one :1
>>>
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
it=d.iteritems()
fork,vinit:
print"d[%s]="%k,v
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
d[three]=3
d[two]=2
d[one]=1
>>>
3.7 keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
printu'keys方法:'
list=d.keys()
printlist
printu'\niterkeys方法:'
it=d.iterkeys()
forxinit:
printx
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
keys方法:
['three','two','one']
iterkeys方法:
three
two
one
>>>
3.8 pop函數:刪除字典中對應的鍵
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
d.pop('one')
printd
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
{'three':3,'two':2}
>>>
3.9 popitem函數:移出字典中的項
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
d.popitem()
printd
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
{'two':2,'one':1}
>>>
3.10 setdefault函數:類似於get方法,獲取與給定鍵相關聯的值,也可以在字典中不包含給定鍵的情況下設定相應的鍵值
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
printd.setdefault('one',1)
printd.setdefault('four',4)
printd
運算結果:
{'three':3,'two':2,'one':1}
{'four':4,'three':3,'two':2,'one':1}
>>>
3.11 update函數:用一個字典更新另外一個字典
# _*_ coding:utf-8 _*_
d={
'one':123,
'two':2,
'three':3
}
printd
x={'one':1}
d.update(x)
printd
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':123}
{'three':3,'two':2,'one':1}
>>>
3.12 values和itervalues函數:values以列表的形式返回字典中的值,itervalues返回值得迭代器,由於在字典中值不是唯一的,所以列表中可以包含重復的元素
# _*_ coding:utf-8 _*_
d={
'one':123,
'two':2,
'three':3,
'test':2
}
printd.values()
運算結果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
[2,3,2,123]
>>>
『叄』 python字典的構成形式為
python字典的構成形式為:字典是Python語言中唯一的映射類型。
映射類型對象里哈希值(鍵,key)和悔櫻悶指向的對象(值,value)是一對多的關系,通常被認為是可變的哈希表。
字典對象是可變的,它是一個容器類型,能存儲任意個數的Python對象,其中也可包括其他容器類型。
字典類型與序列類型的區別:
1、存取和訪問數據的方式不同。
2、序列類型使用數字類型的鍵(從序列的開始按數值順序索引)。
3、映射類型可以用其他對象類型作鍵(如:數字、字元串、元祖,一般用字元串作鍵),和序列類型的鍵不同,映射類型的鍵直接或間接的和存儲數據值相關聯。
4、映射類型中的數據是無序排列的。這和序列類型是不一樣的,序列類型是以數值序排列的。
5、映射類型用鍵直接「映射」到值。
字典是Python中最強大的數據類型之一
使用字典的注意不能允許一鍵對應多個值;鍵必須是可哈希的。
len()返回字典的長度。
hash()返回對象的哈希值,可以用來判斷一個對象能否用來作為字典的鍵。
dict()工廠函數,用來創建字典頌跡。
『肆』 Python怎麼將字元串轉化為字典
先打開Python的代碼編輯器窗口,這是必要的一步
Python中字典怎麼轉化成字元串
然後創建一個字典,輸入 dict1={'1':'a','2':'b','3':'c'} ,然後回車,這里我將它命名為dict1,你也可以用其他的名字
Python中字典怎麼轉化成字元串
回車之後就列印出了{'1': 'a', '2': 'b', '3': 'c'},說明創建成功了。
Python中字典怎麼轉化成字元串
接著我們用Python的內置函數 type(object)查看它的類型,輸入type(dict1)後回車,出現<class 'dict'>說明是字典類型。
Python中字典怎麼轉化成字元串
重點來了,接下來就是見證奇跡的時刻,輸入str1 =str(dict1)後回車,和上面一眼,str1可以自己命名,這里用到了Python的內置函數str()。
Python中字典怎麼轉化成字元串
最後輸入type(str1)後回車,出現<class 'str'>說明是字典類型。在Python中str是字元串,dict是字典。
Python中字典怎麼轉化成字元串
『伍』 python基礎-列表 元組 集合 字典區別和用法
Python中有六個標準的數據類型:Number(數字),String(字元串),List(列表),Tuple(元組),Set(集合),Dictionary(字典)。其中:Number(數字)、String(字元串)、Tuple(元組)是不可變數據,其餘三種是可變數據。
轉義字元
輸出結果
布爾值
布爾值是一個邏輯值,只有真(True)和假(False)
輸出結果
Python數據結構包括列表(list)、元組(tuple)、集合(set)、字典(dict)等,這里主要講解列表,列表有兩個特點:
輸出結果
修改表中元素
輸出結果
列表中插入元素
輸出結果
輸出列表中的元素
輸出結果
元素是否在列表元素中及統計個數
輸出結果
查找某個元素在列表中的位置
輸出結果
順序結構
輸出結果
if 條件 1
輸出結果
if 條件 2
輸出結果
循環結構
輸出結果
循環語句求和
輸出結果
可重復,類型可不同。 類型不同也是跟數組最本質的區別。 python里的列表用「[]」表示:
對比a和b的結果
列表的 --- 增 -- 刪 -- 改 -- 查
循環輸出列表內容,在結尾添加指定的內容
字元串是 Python 中最常用的數據類型。 我們可以使用引號('或")來創建字元串。
元組與列表相似,不一樣之處在於 元組的元素不能修改。
元組使用小括弧,列表使用方括弧。
元組建立很簡單,只須要在括弧中添加元素,並使用逗號隔開便可。
字典是另外一種可變容器模型,且可存儲任意類型對象。
字典的每一個鍵值(key=>value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括弧({})中 ,格式以下所示:
d = {key1 : value1, key2 : value2 }
字典函數
集合(set)是一個 無序的不重復元素序列。
可使用大括弧 { } 或者 set() 函數建立集合,注意:建立一個空集合必須用 set() 而不是 { },由於 { } 是用來建立一個空字典。
它的主要做用以下: 1.去重,把一個列表變成集合,就自動去重了 。2.關系測試,測試兩組數據以前的交集、差集、並集等關系。
關系測試
輸出結果
元素的添加和刪除
『陸』 python 字典與字元串截取
『柒』 python 字典格式字元串怎麼轉化為字典
#-*-coding:utf-8-*-
#1、字典
dict
=
{'name':
'Zara',
'age':
7,
'class':
'First'}
#字典轉為字元串,返回:<type
'str'>
{'age':
7,
'name':
'Zara',
'class':
'First'}
print
type(str(dict)),
str(dict)
#字典可以轉為
元組
,返回:('age',
'name',
'class')
print
tuple(dict)
#字典可以轉為元組,返回:(7,
'Zara',
'First')
print
tuple(dict.values())
#字典轉為列表,返回:['age',
'name',
'class']
print
list(dict)
#字典轉為列表
print
dict.values
#2、元組
tup=(1,
2,
3,
4,
5)
#元組轉為字元串,返回:(1,
2,
3,
4,
5)
print
tup.__str__()
#元組轉為列表,返回:[1,
2,
3,
4,
5]
print
list(tup)
#元組不可以轉為字典
『捌』 python中的如何把字典或者json字元串定義為全局變數
1、首先,創建一個字典用於保存變數。
2、其次,引用my_dict保存全局變數。
3、最後,使用my_dict作為全局變數的字典。
『玖』 python裡面字元串轉換為字典,高手進,求助
如果字元串能夠修改為下面這種,就可以直接json處理:
import json
s = '''{"id1": 1, "name1": "張三", "description1": "mmmmmm", "id2": 2, "name2": "李四", "description2": "NNNNNNN", "id3": 3, "name3": "王五", "description3": "TTTTT"}'''
print json.loads(s,encoding='UTF-8')
『拾』 python中如何將字元串轉換為字典
python中,經常遇到字元串需要轉換成字典的情況,那麼,如何將字元串轉化成字典呢?方法如下:
使用 literal_eval
導包ast