Python3——字典

Python?字典(Dictionary)

字典是另一種可變容器模型,且可存儲任意類型對象。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中?

定義字典

d?= {}

d = {key1 : value1, key2 : value2 }

d?= dict(((1,2),(3,4))) ? ? ? ? ? ? ?dict只有一個參數,元組或者列表都可以,只要存在映射關系。

? ? ?dict(([1,2],[3,5]))

? ? ?dict(a='A')

鍵必須是唯一的,但值則不必。值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。

修改字典

?

向字典添加新內容的方法是增加新的鍵/值對

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict['Age'] = 8; # update existing entry 更新

dict['School'] = "DPS School"; # Add new entry 增加

訪問字典

把相應的鍵放入熟悉的方括弧

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Name']: ",dict['Name'];

print "dict['Age']: ", dict['Age'];

刪除字典元素

能刪單一的元素也能清空字典,清空只需一項操作。

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

del dict['Name']; # 刪除鍵是'Name'的條目

dict.clear(); # 清空詞典所有條目

del dict ; # 刪除詞典?

?

字典內置函數&方法

Python字典包含了以下內置函數:

序號函數及描述
1cmp(dict1, dict2)
比較兩個字典元素。
2len(dict)
計算字典元素個數,即鍵的總數。
3str(dict)
輸出字典可打印的字符串表示。
4type(variable)
返回輸入的變量類型,如果變量是字典就返回字典類型。

Python字典包含了以下內置方法:

?

序號函數及描述
1dict.clear()
刪除字典內所有元素
2dict.copy()
返回一個字典的淺復制
3dict.fromkeys(seq[, val]))
創建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值
4dict.get(key, default=None)
返回指定鍵的值,如果值不在字典中返回default值
5dict.has_key(key)
如果鍵在字典dict里返回true,否則返回false
6dict.items()
以列表返回可遍歷的(鍵, 值) 元組數組
7dict.keys()
以列表返回一個字典所有的鍵
8dict.setdefault(key, default=None)
和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設為default
9dict.update(dict2)
把字典dict2的鍵/值對更新到dict里
10dict.values()
以列表返回字典中的所有值
11pop(key[,default])
刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。
12popitem()
隨機返回并刪除字典中的一對鍵和值。

?

Python 字典(set)

set擁有類似dict的特點:可以用{}花括號來定義;其中的元素沒有序列,也就是是非序列類型的數據;而且,set中的元素不可重復,這就類似dict的鍵.

?

json和python字典的轉換

1、序列化 dict-->json str

d={'k':'v'}

json.dumps(d)

2、反序列化 json str --> dict

json.loads({"k": "v"})

?

轉載于:https://www.cnblogs.com/huluwahaha/p/7496119.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282443.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282443.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282443.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

科技以換皮為本:路遙工具箱 V4 版本發布

作為定位“開發輔助”的工具,我也一直在想如何讓工具更有效率。是更快的打開速度還是更豐富的功能?路遙工具箱 V3 版本的界面布局是偏 BS 后臺系統的風格:可折疊的樹形菜單用來拓寬用戶的操作區域,多標簽的功能布局讓軟件保持整潔…

myisam數據表根據frm文件恢復數據表

有時,我們重裝mysql時,可能忘記備份數據了, 只留下了之前的mysql下面的data文件夾里的數據, 這時我們應該如何去恢復數據表呢 如果直接將原來的data目錄導進現在的mysql,肯定是不行的,其實很簡單 我們常用的數據表結構有myisam和innodb,這兩種數據表恢復數據的方式是不一樣的,這…

本文主要總結關于mysql的優化(將會持續更新)

2019獨角獸企業重金招聘Python工程師標準>>> ON DUPLICATE KEY UPDATE 事件背景 在閱讀公司原來代碼的過程中,我發現了這樣一段代碼: $sql "INSERT INTO {$table} ({$fields}) VALUES " . $values; if (!empty($onDuplicate)) {$sql . ON DU…

CS Academy Gcd Rebuild

題目鏈接:https://csacademy.com/contest/archive/task/gcd-rebuild/statement/ 題目大意:給出一個N*M的矩陣,其中第i行j列表示gcd(a[i], b[j]),現在不知道數組a,b,給出這個矩陣,求a&#xff0c…

ASP.NET Core 在 IIS 下的兩種部署模式

KestrelServer最大的優勢體現在它的跨平臺的能力,如果ASP.NET CORE應用只需要部署在Windows環境下,IIS也是不錯的選擇。ASP.NET CORE應用針對IIS具有兩種部署模式,它們都依賴于一個IIS針對ASP.NET CORE Core的擴展模塊。一、ASP.NET CORE Cor…

navicat連接遠程mysql

環境介紹: 這里,我連接的是阿里云的服務器,自己搭的環境,用的是mysql 5.7一 首先第一步,需要進入遠程服務器的mysql,更改host訪問權限 然后,將root允許訪問的host 改為%(任何ip地址都可以訪問) 注: 原來是只允許本地訪問二 本地用navicat連接遠程mysql 1. 常規部分填寫2. SSH部…

2018-08-15期 HBase命令行使用案例

1、進入hbase命令行[roothadoop-server01 bin]# hbase shell2、命令行幫助COMMAND GROUPS:Group name: generalCommands: status, table_help, version, whoamiGroup name: ddlCommands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, dro…

面向對象五大設計原則

最近在看七牛云許式偉的架構課, 重溫了面向對象五大設計原則(SOLID),扣理論文字找出處。(當然許老板是不可能深聊這么低級的內容,🤡)注意區分設計原則和設計模式。設計原則更為抽象和泛化;設計模式也是抽象…

python函數式編程-匿名函數

>>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]) [1, 4, 9, 16, 25, 36, 49, 64, 81] 關鍵字lambda表示匿名函數,冒號前面的x表示函數參數。 匿名函數有個限制,就是只能有一個表達式,不用寫return,返回值就是該表…

bean初始化、注銷

關于在spring 容器初始化 bean 和銷毀前所做的操作定義方式有三種: 第一種:通過PostConstruct 和 PreDestroy 方法 實現初始化和銷毀bean之前進行的操作 第二種是:通過 在xml中定義init-method 和 destory-method方法 第三種是:…

谷歌F12調試公眾號時,讓鼠標顯示出來

yi 環境介紹: win10 , 谷歌瀏覽器yii 概述: 在項目中,需要調試公眾號,本地環境搭好之后,在谷歌瀏覽時,發現移動到公眾號區域,鼠標居然不見了,這讓我怎么操作?各種操作可謂是日了狗了,非常麻煩yiii 調試時鼠標不見的解決辦法: 網上各種說法眾說紛紜,這里,我給出本人認為最恰當簡…

利用bootstrap插件設置時間

$("#"id_rand" .shijian-input").each(function () { $(this).datetimepicker({ lang:"ch", //語言選擇中文 注:舊版本 新版方法:$.datetimepicker.setLocale(ch); format: "hh : ii", /…

C# 編寫的 64位操作系統 -MOOS

MOOSMOOS ( My Own Operating System )是一個使用.NET Native AOT技術編譯的C# 64位操作系統。項目地址:https://github.com/nifanfa/MOOS編譯關于編譯MOOS的信息,請閱讀 編譯維基頁面:https://github.com/nifanfa/MOOS/wiki/。編譯要求VMwar…

js獲取屏幕寬高和下拉加載更多

document.body.clientWidth > BODY對象寬度 document.body.clientHeight > BODY對象高度 document.documentElement.clientWidth > 可見區域寬度 document.documentElement.clientHeight > 可見區域高度 網頁可見區域寬: document.body.clientWid…

X5開發中buttongrounp對應contents組件切換時速度快點無效

官方提供的解決辦法是:http://docs.wex5.com/wex5-ui-question-list-2084/ 原文如下:【問題】buttongrounp中的button按鈕全是代碼動態生成,對應的contents中的content也是代碼動態生成。發現在快讀點擊button的時候,content就會死…

JAVA語言基礎-面向對象(IO:IO字符流、遞歸)

2019獨角獸企業重金招聘Python工程師標準>>> 21.01_IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接讀寫字符的IO流字符流讀取字符, 就要先讀取到字節數據, 然后轉為字符. 如果要寫出字符, 需要把字符轉為字節再寫出.2.FileReader FileReader類的read()方法…

windows下, nginx 提示錯誤 No input file specified

一 環境介紹: win10, LNMP 二 錯誤描述: 訪問網站時,提示"No input file specified"錯誤. 排錯階段: 1. 查看nginx access日志 (access.log) 發現提示404 錯誤 2. 分析原因: 這時,在同目錄下創建一個txt文件,訪問就可以正常輸出了 這說明 現在nginx 訪問php 沒…

Ubuntu20.04+docker+jenkins+飛書實現自動化發布

一、從0-1一點一滴實現如何本地提交代碼到gitlab然后實現前后端自動發布1.更新apt包索引sudo apt-get update2.安裝必備的軟件包以允許apt通過https使用存儲庫sudo apt-get install ca-certificates curl gnupg lsb-release3.添加Docker官方版本的GPG密鑰sudo mkdir -p /etc/ap…

一個Demo讓你掌握Android所有控件

一個Demo讓你掌握Android所有控件 原文:一個Demo讓你掌握Android所有控件本文是轉載收藏,侵刪,出處:"安卓巴士" 下面給出實現各個組件的源代碼: 1.下拉框實現--Spinner [java] view plaincopyprint?package com.cellcom; import java.util.ArrayList;…

九妹帶你走向 架構師

邁向系統架構師編者按:系統架構師是許多程序員的夢想職業。今天的你也許已經掌握了各種開發工具,并且能夠使用各種平臺進行開發,但作為一個架構師的要求,也許還有很長的道路。邢波濤先生在LAMP架構上的造詣,讓我邀請他…