導航:首頁 > 編程語言 > 字典的建立方式python

字典的建立方式python

發布時間:2023-11-14 06:46:12

python中創建字典的幾種方法總結

1.傳統的文字表達式:
>>>d={'name':'Allen','age':21,'gender':'male'}
>>>d
{'age':21,'name':'Allen','gender':'male'}
如果你可以事先拼出整個字典,這種方式是很方便的。
2.動態分配鍵值:
>>>d={}
>>>d['name']='Allen'
>>>d['age']=21
>>>d['gender']='male'
>>>d
{'age':21,'name':'Allen','gender':'male'}
如果你需要一次動態地建立一個字典的一個欄位,那麼這種方式比較合適。
字典與列表不同,不能通過偏移量進行復制,只能通過鍵來讀取或賦值,所以也可以這樣為字典賦值,當然訪問不存在的鍵會報錯:
>>>d[1]='abcd'
>>>d
{1:'abcd','age':21,'name':'Allen','gender':'male'}
>>>d[2]
Traceback(mostrecentcalllast):
File"<pyshell#9>",line1,in<mole>d[2]
KeyError:212345678
3.字典鍵值表
>>>c=dict(name='Allen',age=14,gender='male')
>>>c
{'gender':'male','name':'Allen','age':14}
因為這種形式語法簡單,不易出錯,所以非常流行。
這種形式所需的代碼比常量少,但是鍵必須都是字元串才行,所以下列代碼會報錯:
>>>c=dict(name='Allen',age=14,gender='male',1='abcd')
SyntaxError:keywordcan'tbeanexpression
4.字典鍵值元組表
>>>e=dict([('name','Allen'),('age',21),('gender','male')])
>>>e
{'age':21,'name':'Allen','gender':'male'}
如果你需要在程序運行時把鍵和值逐步建成序列,那麼這種方式比較有用。
5.所有鍵的值都相同或者賦予初始值:
>>>f=dict.fromkeys(['height','weight'],'normal')
>>>f
{'weight':'normal','height':'normal'}

⑵ Python其實很簡單 第十章 字典與集合

前面介紹的列表和元組都是有序序列,而字典與集合屬於無序序列,也就是說,不能通過索引來操作元素。

10.1 字典

語法格式:

dictionary= {key1 : value1, key2 : value2, key3 : value3 ,...., key n : value n }

其中,dictionary是字典名稱,key表示元素的鍵,value表示元素的值,鍵和值必須是成對的。

如:

>>> dict1 = { 'abc': 123, 98.6: 37 }

>>> dict1

{'abc': 123, 98.6: 37}

可以看出,鍵可以是字元串、數字或者元組,但必須是唯一的;而值可以是任何數據類型,也沒有要求是唯一的。

1、創建字典的方法

方法一:同時給定鍵和值,即「關鍵字參數」形式。

dictionary=dict(key1=value1,key2=value2,.....,key n=value n)

注意:這里的key 必須符合Python標識符的命名規則。

例:

先使用「{}」創建字典:

>>> dict1={1:'一',2:'二',3:'三',4:'四',5:'五'}

>>> dict1

{1: '一', 2: '二', 3: '三', 4: '四', 5: '五'}

再通過「關鍵字參數」形式創建:

>>> dict1=dict(1='一',2='二',3='三',4='四',5='五')

SyntaxError: expression cannot contain assignment, perhaps you meant "=="?

創建不成功,原因在於key 不符合Python標識符的命名規則。前面已經介紹過,標識符不能用數字表示或者用數字打頭。

現在對鍵如下修改:

>>> dict1=dict(n1='一',n2='二',n3='三',n4='四',n5='五') #在數字前加了一個字元」n」

>>> dict1

{'n1': '一', 'n2': '二', 'n3': '三', 'n4': '四', 'n5': '五'}

方法二 :使用已經存在的元組和列表通過映射函數創建字典。

格式:dictionary=dict(zip(tuplekey,listvalue))

例:

>>> tuplekey=('n1','n2','n3','n4','n5') #鍵的序列採用元組

>>> listvalue=['一','二','三','四','五'] #值的序列採用列表

>>> dict1=dict(zip(tuplekey,listvalue))

>>> dict1

{'n1': '一', 'n2': '二', 'n3': '三', 'n4': '四', 'n5': '五'}

注意:tuple(listname)函數可以將列表轉換為元組,list(tuplename)函數可以將元組轉換為列表。

2、通過鍵訪問字典

直接獲取鍵的相應元素的值

>>> dict1['n2']

'二'

利用get()方法

>>> dict1.get('n2')

'二'

get()方法也可以帶參數,當要訪問的鍵不存在時返回一個字元串。如:

>>> dict1.get('n0','can't find!') #當要查找的鍵不存在,返回'can't find!'

"can't find!"

3、遍歷字典

使用字典對象的items()方法可以獲取字典的「鍵.值對」列表。

>>> for item in dict1.items():

print(item)


('n1', '一')

('n2', '二')

('n3', '三')

('n4', '四')

('n5', '五')

也可以獲取具體的每個元素的鍵和值,如:

>>> for key,value in dict1.items():

print(key,'對應的是',value)


n1 對應的是 一

n2 對應的是 二

n3 對應的是 三

n4 對應的是 四

n5 對應的是 五

4、添加、修改和刪除字典元素

使用下面的語句,若指定的鍵存在,就可以修改該元素的值;若指定的鍵不存在,則添加該元素。如:

>>> dict1['n6']='六' # 鍵』n6』不存在,故添加該元素

>>> dict1

{'n1': '一', 'n2': '二', 'n3': '三', 'n4': '四', 'n5': '五', 'n6': '六'}

>>> dict1['n4']='肆' # 鍵』n4』存在,故修改該元素

>>> dict1

{'n1': '一', 'n2': '二', 'n3': '三', 'n4': '肆', 'n5': '五', 'n6': '六'}

5、利用推導式建立字典

import random

dict1={i:random.randint(1,100) for i in range(5)}

# 生成元素的鍵為0到5整數,值為1到100之間的隨機數

print(dict1)

運行結果:{0: 28, 1: 59, 2: 79, 3: 30, 4: 88}

10.2 集合

集合是數學中一個很重要的概念,集合具有確定性、互異性、無序性三個基本屬性。在Python中,集合同樣具有這三個基本屬性,其中,確定性是指對象要麼是集合的元素,要麼不是集合的元素;互異性是指集合中的元素不能重復;無序性是指集合中的元素不分先後次序,可以隨意更換位置。

1、集合的創建

直接使用「{}」創建

>>> set1={'春','夏','秋','冬'}

>>> set1

{'秋', '春', '冬', '夏'}

>>> set2={3,2,1,4,5}

>>> set2

{1, 2, 3, 4, 5}

利用已有的列表、元組創建集合

>>> list1=['東','南','西','北']

>>> set3=set(list1)

>>> set3

{'南', '東', '北', '西'}

利用已有的集合建立一個「副本」

>>> set3

{'南', '東', '北', '西'} #set3和set4的值一樣

>>> set4=set3

>>> set4

{'南', '東', '北', '西'}

>>> set4.add('中') #給set4添加元素

>>> set4

{'西', '中', '東', '南', '北'} # 這個好理解

>>> set3

{'西', '中', '東', '南', '北'} # 意想不到吧?Set3為什麼會發生變化?

再看看簡單變數的情況:

>>> a=2

>>> b=a #是不是與前面set4=set3相似

>>> b+=1

>>> b

3

>>> a

2 #但a的值並沒有發生改變

從上面集合set3、set4和簡單變數a、b的值的變化情況對比,不難發現set3和set4是指向同一地址的對象,而變數a和變數b指向了不同地址,語句b=a是將a的值傳遞個b,並不是將a的地址傳遞給b。列表、元組、字典都和集合一樣具有這樣的性質。

所以,將set4稱為set3的「副本」更為恰當。

2、添加和刪除元素

>>> set3

{'南', '東', '北', '西'}

>>> set3.add('中') # 添加元素

>>> set3

{'西', '中', '東', '南', '北'} # 集合內的元素是無序的,不要糾結次序的變化

>>> set3.remove('中') # 刪除元素

>>> set3

{'西', '東', '南', '北'}

3、集合運算

集合運算包括交(&)、並(|)、差(-),和數學中的集合運算是一致的。

>>> set3={'南', '東', '北', '西'}

>>> set4={'西', '中', '東', '南', '北'}

>>> set3 & set4 #取set3和set4的交集

{'西', '南', '北', '東'}

>>> set3 | set4 #取set3和set4的並集

{'中', '南', '北', '西', '東'}

>>> set3 - set4 #取set3與set4的差,即set3比set4多出來的元素

set()

>>> set4 -set3 #取set4與set3的差,即set4比set3多出來的元素

{'中'}

⑶ python創建一個可以儲存學生名字的字典

1、寫一個程序,任意輸入學生的信息,形成字典後存於列表中。
2、學生的信息包括姓名(字元串),年齡(整數),成績(整數),循環輸入學生信息,輸入學生姓名為空時結束輸入,形成字典列表。
3、可以廳李修改和掘派刪除學生成績判伏賀。
4、實現列印菜單,提示選擇對應的操作。

⑷ python中,怎麼做個字典,數句子中單詞出現的次數

text = raw_input("enter a sentence:")
words = text.split()
wordscount = [words.count(elem) for elem in words]
worddict={map(None,words,wordscount)}

要完成你的目標:
我要

計算每個詞語出現的次數,
把詞語出現的次數和詞語列表組合成字典;

偽代碼出來了,程序也就有了....

python有著強大的列表解析,內建模塊使用C完成,他們很快,所以能夠調用內建模塊你就不要自己多事。
盡量按照偽代碼去完成程序,除非必須細化,否則讓python為你操作低層吧,他很聰明

第三句釋義:
對於列表元素計數有很簡單的list.count()方法。
這個語句就是利用了這個,statement for element in list fileter expression這是list的解析式。
通過這個你可以方便的將一個list解析為另一個。這一句就對list中所有的元素運用count()方法,並且建立新的list。
另外一個例子:a=[2,3,4,7,8]找到這個list中的偶數,並得到它們的平方列表
這樣寫:[elem*elem for elem in a if elem%2==0]

第四句釋義:
list有個map方法,它可以提供list的映射。map(statement,list1,list2)就是將list1,list2按照statement規則映射。我的表達式是none所以得到的結果就是簡單的[('this', 3), ('is', 4), ('a', 1)]這樣的二元tuple列表。
dict函數則是針對上述list的。它能把上述list轉化為字典。
這在你做數據處理時很有好處,你可以很輕松的建立一個hash表。

python的強大在於簡明,遇到程序嘗試著用最簡單地方法去解決,你會很快喜歡上的。

以上^樂於與您交流

⑸ python字典如何添加字典

python字典添加字典的方法:
1、首先建立一個新的字典
2、調用updata()函數,把新字典裡面的鍵值對更新到dict里
3、列印dict,字典添加成功。
結果如下

⑹ python中字典的定義

python中字典的定義:字典是python中的一種內置的數據類型,它是肆鋒一個無序的鍵值對(key-value)的集合,鍵和值可以是任何數據類型。
拓展:字典鄭侍的鍵必須是唯一的,即每個鍵只能映射到一個值。通過使用字典,我們可以存儲任意類型的數據,比如數字、字元串、列表、元組等喊雹吵。字典也可以嵌套,即字典中可以包含其他字典。

⑺ 如何創建字典和給字典賦值

創建字典只需要把字典賦值給一個變數,不管這個字典是否包含元素:
>>> dict1 = {}
>>> dict2 = {'name': 'earth', 'port': 80}
>>> dict1, dict2
({}, {'port': 80, 'name': 'earth'})
從Python 2.2 版本起, 可以用工廠方法 dict() 來創建字典。 當我們詳細討論dict()的時候
會看到更多的例子,現在來看一個小例子:
>>> fdict = dict((['x', 1], ['y', 2]))
>>> fdict
{'y': 2, 'x': 1}
從Python 2.3 版本起, 可以用一個很方便的內建方法fromkeys() 來創建一個"默認"字典, 字
典中元素具有相同的值 (如果沒有給出, 默認為None):
>>> ddict = {}.fromkeys(('x', 'y'), -1)
>>> ddict
{'y': -1, 'x': -1}
>>>
>>> edict = {}.fromkeys(('foo', 'bar'))
>>> edict
{'foo': None, 'bar': None}

閱讀全文

與字典的建立方式python相關的資料

熱點內容
少兒計算機編程培訓無聊嗎 瀏覽:587
安卓界面更新時點擊卡頓如何解決 瀏覽:771
日本十大漫畫app哪個好用 瀏覽:876
做系統選擇哪個文件夾 瀏覽:283
如何登陸mc伺服器 瀏覽:799
華為無法定位伺服器地址 瀏覽:961
編譯原理第三版陳火旺課本圖片 瀏覽:566
cad用什麼解壓縮軟體 瀏覽:715
編譯的函數模版 瀏覽:359
加密貨幣利率改變 瀏覽:226
復雜網路案例python 瀏覽:296
死命令的意思 瀏覽:689
哪個app可以聽日語電台 瀏覽:103
谷輪壓縮機15hp 瀏覽:289
python任意整數冒泡降序 瀏覽:30
醫保卡的錢哪個app能看到 瀏覽:576
主伺服器崩潰如何進行域遷移 瀏覽:317
學安卓用什麼語言好 瀏覽:78
qt命令行 瀏覽:800
慕課app班級在哪裡 瀏覽:140