list、dict、str雖然是Iterable,卻不是Iterator
生成器都是Iterator
對象,但list
、dict
、str
雖然是Iterable
,卻不是Iterator
。
把list
、dict
、str
等Iterable
變成Iterator
可以使用iter()
函數:
>>> isinstance(iter([]), Iterator)
True
>>> isinstance(iter(‘abc‘), Iterator)
True
你可能會問,為什麽list
、dict
、str
等數據類型不是Iterator
?
這是因為Python的Iterator
對象表示的是一個數據流,Iterator對象可以被next()
函數調用並不斷返回下一個數據,直到沒有數據時拋出StopIteration
next()
函數實現按需計算下一個數據,所以Iterator
的計算是惰性的,只有在需要返回下一個數據時它才會計算。
Iterator
甚至可以表示一個無限大的數據流,例如全體自然數。而使用list是永遠不可能存儲全體自然數的。
list、dict、str雖然是Iterable,卻不是Iterator
相關推薦
list、dict、str雖然是Iterable,卻不是Iterator
函數實現 函數調用 next() ble iter() pan spa 提前 prompt 生成器都是Iterator對象,但list、dict、str雖然是Iterable,卻不是Iterator。 把list、dict、str等Iterable變成Iterator可以使
Python測試開發之---list、str、dict、tuple小結
split 常用方法 split() nco item 它的 ase 小寫字母 -- str的常用方法有: str.digits 0-9的表示str.uppercase 大寫字母str.lowercase 小寫字母str.letters 所有字母" ".join(s
Python資料型別str、list、tuple、dict、set
字串 字串常見的功能 name = 'fe_cow' print name.capitalize() # 首字母大寫 :Fe_cow print name.count('_') # 統計字串出現在這個字元中的個數: 1 print name.center(
python知識整理--議可變物件和不可變物件以及str、list、tuple、dict、set
可變物件:變數、list 不可變物件:str、tuple、dict、set 1、變數是可變的不用多說,變數賦值一次便改變一次。 2、list 可變物件,可對list進行如下新增刪除排序等操作。 list = [2,3,5,1,2] list.append(8) list.insert(0,
python中資料結構容器(list、dict、tuple、set)和C++、JAVA中的匯出資料型別, 陣列
list(列表):語法:列表形如 [1, 2, 3, 4] [‘小明’,‘小紅’,] ,用中括號括住,裡面是字串、布林,每一項逗號分開。 建立 宣告變數時 中括號、項,建立一個非空的列表。 num_list = [1,2,3,4] 建立一個空列表,之後再修改
Python封裝函式之str、list、tuple、dict、set
字元 encode decode test = 'aLexaLex' v = test.find('ex',5,7) #預設從開始往後找現在設定5到7的閉開區間 print(v) #找到第一個之後,獲取其
python中pickle使用,用於list、tuple、dict、set特殊的形式進行讀寫
自動 如果 python log char pycharm 二進制 pychar tom #特殊文件的讀寫,List tuple dict setimport pickle #數據持久性模塊myList=[1,2,3,4,5,"tom is a good boy"]path
python筆記三(list、tuple、dict、set)
print 索引 names dict 追加 增刪改查 list extend clas 一、list list的增刪改查 #增, classmates.append("nadech") #在末尾追加一個元素 classmates.insert(1,"aguilera
[Python] str 、dict、json 轉換
1. dict 與json互轉 在Python語言中,json資料與dict字典以及物件之間的轉化,是必不可少的操作。 在Python中自帶json庫。通過import json匯入。 在json模組有2個方法, loads():將json資料轉化成dict資料 dump
常用list、dict、tuple小tips(複習)
一:兩個list對應元素相加a=[1,2,3] b=[4,5,6] 現將list a與 list b按位相加,其結果為[5,7,9] 方法一: c=[a[i]+b[i] for i in range(min(len(a),len(b)))] 方法二: c=list(map(lambda&nbs
python之list、tuple、dict、set常用函式
#可變型別 ###目標: * 理解列表、元組、字典的性質 * 會使用可變型別常見函式 * 會使用range函式 * 會使用for進行遍歷 * 會使用切片 ####基本語法 列表list:有序可變的儲存模型 list = [] list.insert(idx,data
【原創】可修改==不可做index/key,可下標==有index/key==可查詢:嘗試 list tuple dict set的巢狀,包括str 和 int等
語法總結 1 再確認一次,在語言使用時 "string " 等同於 'string' 沒區別 2 無論tuple ,list , dict 本身是用不同的符號() [ ] {},但是引用 index/key 都使用 [ ] tuple
【資料型別】list、tuple、dict、set
【list】:list是一種有序的集合,可以隨時新增和刪除其中的元素。 classmates = ['Michael', 'Bob', 'Tracy'] 【tuple】:另一種有序列表叫元組:tuple。tuple和list非常類似,但是tuple一旦初始化就不能修改。當你定義一
Python3 與 C# 基礎語法對比(List、Tuple、Dict、Set專欄)
Help on class set in module builtins: class set(object) | set() -> new empty set object | set(iterable) -> new set object | | Build
Python3 與 NetCore 基礎語法對比(List、Tuple、Dict、Set專欄)
// using System; // using System.Collections.Generic; // using System.Linq; // namespace aibaseConsole // { // public static class Program //
python 資料型別dataframe、ndarray、list、dict、series之間的轉換
0、引言 dataframe是pandas的資料型別; ndarray是numpy的資料型別; list和dict是python的資料型別; series是pandas的一種資料型別,Series是一個定長的,有序的字典,因為它把索引和值對映起來了。
Python的list、tuple、dict、set
list list是一種有序的集合,可以隨時新增和刪除其中的元素。 示例: classmates = ['a','b','c'] #新建list print(classmates) #輸出list print(len(classmates)) #輸
python之list、tuple、dict、set對比
這兩天開始學習了下Python,在此灰常感謝廖雪峰老師關於Python的系列文章。下面,是我在學習過程中遇到的標題上的四個內建屬性時,覺得理一理,不然覺得會“思想錯亂”的。 1. List list是Python內建的一種資料型別,它是有序的而且狀態
46、求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。
closed else while spl 判斷語句 stat 條件 執行 ret 思路:循環或者遞歸都有個結束條件和執行條件。用&&短路與代替。 //短路與&&;就是只有前一個條件滿足才可以去判斷第二個條件。 //遞歸的出口
《必然》六、未來你將放棄所有,卻能使用一切
我們繼續凱文凱利的《必然》,今天是第五個關鍵詞,使用Accessing。這個單詞除了使用之外其實還有很多的含義,像是入口、出口、接近、進入、增長、爆發和獲取。總之,這個詞就是要表達我們和事物之間的動態關係。我們要理解他就要明白他的反面,也就是和事物的靜態關係,我們把他叫做佔有!那麼使用和佔有相互對