python基礎(五)
1.集合
(1)集合
集合是一種可變的無序的容器.
(2)定義
x = {1,2,3} #第一種方法,使用{}
x = set([2,4,5]) #第二種方法,使用強制型別轉換
(3)特點
A.確定性
類似數學中的集合的確定性,集合描述得很清楚,不存在不能判斷一個元素是否在一個集合中,具體來說就是in或not in運算子不會得不到確定的結果.
B.無序性
因此不能透過下標訪問.
subscriptable就是可以透過下標訪問的.這裡提示"not subscriptable".
C.互異性
沒有重複元素.
D.支援集合運算
包括==,!=,判斷子集,真子集,超集,真超集,交集與並集,差集,對稱差分.
E.可變物件
可以透過add,remove改變集合本身.
另外有不可變集合frozenset:
2.字典
(1)字典
字典是一種可變的無序容器,每個值都有自己對應的鍵,是一個對映結構,本質上是一個以鍵為元素的集合.
(2)定義
使用{},鍵與值用:分隔,鍵值對用逗號分隔.
x = {'aa':1,'bb':2,'cc':3}
(3)特點
A.可以透過對應的key訪問對應的value
B.可變物件
(4)用作函式引數
def func(arg1,**arg2):
print(arg1)
print(arg2)
func('a',a=1,b=2,c=3,d=4)
3.迭代器
(1)迭代器
迭代器可以作為next()的引數被呼叫,不斷返回下一個值.
(2)可迭代物件
可以直接作用與迴圈語句的物件,對於for迴圈是in後的物件.判斷一個物件是否是可迭代物件可以利用isinstance()與Iterable.
from collections import Iterable
isinstance([1,2,3],Iterable)
(3)可迭代物件轉換為迭代器
使用iter():
4.生成器
(1)生成器
生成器是一個函式,不過相比起普通函式,返回的是迭代器.
(2)特點
生成器用的不是return,而是yield,另外生成器有惰性計算的特性,呼叫生成器時不會立即執行它,會在呼叫每個元素時才進行計算.
(3)使用
def gen():
x = range(-1,8)
for i in x:
yield i+2
for x in gen():
print(x,end = ' ')
print()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4550/viewspace-2824640/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python基礎學習五Python
- 《Python 基礎篇》五:函式Python函式
- 五、Python函式之基礎Python函式
- Python的基礎學習(五):運算子Python
- 逆向基礎(五)
- Python基礎(五)——閉包與lambda的結合Python
- 第五課 Python基礎資料型別2Python資料型別
- Python基礎篇-Python基礎01Python
- 五道Python基礎語法面試題!Python入門Python面試題
- JavaSpring【五、AOP基礎】JavaSpring
- Jdbc基礎五步JDBC
- Python基礎筆記01-Python基礎Python筆記
- python基礎中的基礎Python
- Python 基礎 (-)Python
- Python基礎Python
- python 基礎Python
- JavaScript基礎(五)陣列JavaScript陣列
- Django基礎五之AjaxDjango
- Python基礎:語法基礎(3)Python
- 零基礎學習人工智慧—Python—Pytorch學習(五)人工智慧PythonPyTorch
- Python基礎面試題30問!Python基礎教程Python面試題
- Python基礎—字串Python字串
- python基礎12Python
- Python_基礎Python
- Python基礎一Python
- Python基礎篇Python
- 03 - Python 基礎Python
- python基礎題Python
- python基礎3Python
- Python列表基礎Python
- 【Python基礎】字典Python
- python基礎概念Python
- python基礎操作Python
- python基礎(一)Python
- Python基礎教程Python
- Python基礎(下篇)Python
- Linux基礎五(shell指令碼)Linux指令碼
- 《MySQL 基礎篇》五:函式MySql函式