歡迎光臨
每天分享高質量文章

Python中的元組及字典常用方法舉例

作者:fy88fy

來源:https://my.oschina.net/u/3804957/blog/1788302

1. 元組

Python的元組與串列類似,不同之處在於元組的元素不能修改。元組使用小括號,串列使用方括號。元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。

  • 元組和串列十分相似

  • 元組和字串一樣是不可以變的。

  • 元組可以儲存一系列的值

  • 元組通常用在使用者定義的函式能夠安全地採用一組值的時候,即被使用的元組的值不會改變。

如下實體:

>>> t = (1,3,5,'a',(1,))
>>> type(t)
<class 'tuple'>
>>> print(t)
(1, 3, 5, 'a', (1,))

建立空元組:

tup1 = ();

元組中只包含一個元素時,需要在元素後面新增逗號:

tup1 = (50,);

1.1 元組操作:

  • 元組和字串一樣屬於序列型別,可以透過索引和切片操作

  • 元組值不可變

元組的拆分:

>> t = (1,2,3)
>>> a,b,c = t
>>> print(t)
(1, 2, 3)
>>> print(a)
1
>>> print(b+c)
5

>>> t = (1,3,5,'a',(1,))
>>> type(t)

>>> print(t)
(1, 3, 5, 'a', (1,))
>>> print(t[1])
3

元組中取用變數:

>>> print(t)
(1, 2, 3)
>>> t1 = (t,4,5,"abc")
>>> print(t1)
((1, 2, 3), 4, 5, 'abc')

元組切片:    

>>> t1 = (t,4,5,"abc")
>>> print(t1)
((1, 2, 3), 4, 5, 'abc')
>>> x,y,z,m = t1
>>> print(x)
(1, 2, 3)
>>> print(m)
abc

1.2 元組的方法:

(1) index()方法:檢視元素下標是多少 

>>> t = (1,3,5,6,6,7,7,8)
>>> t.index(3)
1
>>> t.index(8)
7

(2) conunt()方法:統計某無素的個數   

>>> t = (1,3,5,6,6,7,7,8)
>>> t.count(6)
2
>>> t.count(8)
1

元組中的內建函式:

1

len(tuple)
計算元組元素個數。

2

max(tuple)
傳回元組中元素最大值。

3

min(tuple)
傳回元組中元素最小值。

4

tuple(seq)
將串列轉換為元組。

舉例如下:

>>> tuple1 = (1,2,3)
>>> tuple2 = (2,3,4,5)
>>> len(tuple1)
3
>>> max(tuple1)
3
>>> min(tuple1)
1

>
>> list = [1,3,5,6,7]
>>> tuple(list)
(1, 3, 5, 6, 7)
>>> list
[1, 3, 5, 6, 7] 

2.字典

字典是python中的唯一的對映型別(雜湊表)。字典物件是可變的,但是字典的鍵必須使用不可變物件,一個字典中可以使用不同型別的鍵值。字典是另一種可變容器模型,且可儲存任意型別物件。字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 ,格式為d = {key1 : value1, key2 : value2 }。鍵必須是唯一的,但值則不必。值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。

字典的方法

  • keys()

  • values()

  • get()

  • items()

舉例如下:    

>>> dic = {'a':1,'b':2}
>>> dic
{'a': 1, 'b': 2}

>>> dic.keys()
dict_keys(['a', 'b'])

>>> dic.values()
dict_values([1, 2])

>>> len(dic)
2

>>> dic = {'a':1,'b':2}
>>> dic.get('b')
2

>>> dic["b"]
2

更改字典內value:

>>> dic
{'a': 1, 'b': 2}
>>> dic['a'] = 8
>>> dic
{'a': 8, 'b': 2}

檢視key是不是在字典裡    

>>> dic
{'a': 1, 'b': 2}
>>> 'b' in dic
True
>>> "c" in dic
False

變為串列:

>>> dic
{'a': 8, 'b': 2}
>>> dic.items()
dict_items([('a', 8), ('b', 2)])

複製字典:    

>>> dic
{'a': 8, 'b': 2}
>>> dic1 = dic.copy()
>>> dic1
{'a': 8, 'b': 2}

刪除字典內容:

>>> dic
{'a': 8, 'b': 2}
>>> dic.pop("a")
8
>>> dic
{'b': 2}

更新字典,兩個字典更新為一個:

>>> dic
{'b': 2}
>>> dic1
{'a': 8, 'b': 2}
>>> dic.update(dic1)
>>> dic
{'b': 2, 'a': 8}

建立字典:

>>> dic = {}

>>> dic = dict()

>>> dict(a=1,b=2)
{'a': 1, 'b': 2}

>>> dict((["c",3],["d",4]))
{'c': 3, 'd': 4}

#fromkeys(),字典元素有相同的值時,預設為None.
>>> dic.fromkeys('abcd')
{'a': None, 'b': None, 'c': None, 'd': None}

#自動生成100個key,value預設為100
dic.fromkeys(range(100),100)
{0: 100, 1: 100, 2: 100, 3: 100, 4: 100, 5: 100, 6: 100, 7: 10.....100:100}

訪問字典:

>>> dic1
{'a': 8, 'b': 2}
>>> dic["b"]
2

for迴圈訪問:

>>> for k,v in dic1.items():print(k,v)
...
a 8
b 2


3.Python3中常用的方法

help()檢視幫助資訊

>> help(list)
Help on list object:

class list(object)
|  list() -> new empty list
|  list(iterable) -> new list initialized from iterable's items

dir() 看當前環境中變數

>>> dir()
['__builtins__', 'a', 'b', 'c', 'dic', 'dic1', 'django', 'django_manage_shell', 'i', 'input', 'k', 'list', 'm', 'sys', 't', 't1', 'tuple1', 'tuple2', 'v', 'x', 'y', 'z']

型別轉換:

  • str()  

  • int()   

  • list()  

  • dict()  

  • tuple()

自動生成序列:

range()          

>>> for i in range(10):print(i)
...
0
1
2
3
4
5
6
7
8
9       

可迭代的,迴圈取值:

items()

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/4/1 21:56
# @Author  : Feng Xiaoqing
# @File    : test.py
# @Function: -----------
list1 = {1:1,2:2,3:3}
for i in list1.items():
   print(i)


#
結果:
(1, 1)
(2, 2)
(3, 3)

預設輸入都為字串:

input ()

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/4/1 21:56
# @Author  : Feng Xiaoqing
# @File    : test.py
# @Function: -----------

x = input("x = ")
print(x)  

求長度:

len()

>>> list
[1, 3, 5, 6, 7]
>>> len(list)
5

看型別:

type()

>>> type(list)
<class 'list'>

a是不是什麼型別

isinstance(a,list)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/4/1 21:56
# @Author  : Feng Xiaoqing
# @File    : test.py
# @Function: -----------
list1 = [1,3,5]
print(list1)
a=isinstance(list1,list)
print(a)

#
結果
[1, 3, 5]
True

有沒有某屬性

print(hasttr(l1,”append”))

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/4/1 21:56
# @Author  : Feng Xiaoqing
# @File    : test.py
# @Function: -----------
list1 = [1,3,5]
print(list1)
a=hasattr(list1,"append")
print(a)

#
結果
[1, 3, 5]
True

列印結果:

print()

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/4/1 21:56
# @Author  : Feng Xiaoqing
# @File    : test.py
# @Function: -----------
a="hello fengxiaoqing"
print(a)

#
結果:
hello fengxiaoqing

生成可迭代串列,(index,value)

enumerate()

>>> for i in enumerate(list):
...     print(i)
...        
(0, 1)
(1, 3)
(2, 5)
(3, 6)
(4, 7)

《Python人工智慧和全棧開發》2018年07月23日即將在北京開課,120天衝擊Python年薪30萬,改變速約~~~~

*宣告:推送內容及圖片來源於網路,部分內容會有所改動,版權歸原作者所有,如來源資訊有誤或侵犯權益,請聯絡我們刪除或授權事宜。

– END –


更多Python好文請點選【閱讀原文】哦

↓↓↓

贊(0)

分享創造快樂