1. 程式人生 > >list的append與extend方法的使用場景

list的append與extend方法的使用場景

追加寫入資料,這種應用場景在爬取外部資料時,經常可以遇到。response回來的是一條條json格式的資料,在解析時有時候需要在迴圈中把這一條條資料追加到檔案中。比如前兩天分享的一個簡單的爬蟲例項中,使用了這樣一條程式碼:

mydata.extend(req.json()['data'])

下面將通過例項展開說明,為什麼使用extend。

將非list型別的object追加到list

list是一個幾乎萬能的容器,可以把任意型別的資料裝進去。以下使用的是Ipython進行的小測。ipython很好用,比如你在使用list的append方法時,不是很清楚它的引數情況。只需要在輸入append 後再輸入半個括弧,ipython會提示你這個函式實現的功能是什麼,以及應該使用的引數。

  • append:append object to end

系統提示的是append實現的功能是,將一個物件追加到原始資料的後面。既然是一個物件,你知道在python中所有資料型別都是一個物件。這就意味著使用append不僅可以將單一的資料型別,比如字串、整型、浮點型追加進去,還可以將一個數組,元組或是一個列表追加到原始list物件中。

  • extend:extend list by appending elements from the iterable

extend系功能提示表示,將一個可遞迴的資料型別中的元素,追加到原始列表中。一定要是可以遞迴的資料型別中的元素。

所以,如果你是要把非list型別的資料追加到list中,就選用append( )方法。

將list型別的object追加到list

假設我們有如下資料來源,需要把d0,d1追加到data中。

append:append object to end

extend:extend list by appending elements from the iterable

如果是要把list型別的資料追加到list中,就選用extend( )方法,就不會出現多個list巢狀的結果。

歡迎點選下方二維碼,關注《資料分析師手記》,跟三月桑一起學習資料分析

相關推薦

list的appendextend方法的使用場景

追加寫入資料,這種應用場景在爬取外部資料時,經常可以遇到。response回來的是一條條json格式的資料,在解析時有時候需要在迴圈中把這一條條資料追加到檔案中。比如前兩天分享的一個簡單的爬蟲例項中,使用了這樣一條程式碼: mydata.extend(req.json(

python中appendextend方法的區別

append方法用於在列表末尾新增新的物件,沒有返回值,但是會改變原來的列表。 a=['a',1,'b'] b=[1,2] c=a.append(b) print(c) print(a) print(a.count([1,2]))該段程式碼執行結果為: extend方法用

Lua中的元表方法

類型 得到 算術 自己的 連接 還記得 clas 是否 操作符 前言Lua中每一個值都可具有元表。 元表是普通的Lua表,定義了原始值在某些特定操作下的行為。你可通過在值的原表中設置特定的字段來改變作用於該值的操作的某些行為特征。比如。當數字值作為加法的操作數時,Lua檢

backbone之extend方法(剛明白了點)

屬性 開發 console mage ext img shu 構造 del 話說這個extend困擾我好幾天了,今天終於想明白了點。 在之前先要知道什麽是實例方法和靜態方法。 首先定義一個類(js不支持類,但是別人都這麽說,我也不知道為啥),如:var Person=fun

zabbix   監控平臺搭建過程中的報錯解決方法總結

監控 zabbix 運維自動化1.php option post_max_size 2.php option max_execution_time 3.php option max_input_time 4.php time zone 5.php bcm

nmap檢測ms17-010的配置使用方法

病毒 微軟 nmap 永恒之藍 ms17-010 1 前言針對近期肆虐全球的“永恒之藍”勒索蠕蟲病毒,為有效預防病毒的入侵,將被病毒入侵後的損失降到最低,各單位均采取了相關應急處置辦法,但沒有方法驗證處置辦法是否行之有效。很幸運的是,Paulino Calderon在https:

python常見異常分類處理方法

異常 error python except try Python常見異常類型大概分為以下類: 1.AssertionError:當assert斷言條件為假的時候拋出的異常 2.AttributeError:當訪問的對象屬性不存在的時候拋出的異常 3.IndexError

Android開發系列(二十四):Notification的功能使用方法

font _id when ice extends 開發 content androi mark 關於消息的提示有兩種:一種是Toast,一種就是Notification。前者維持的時間比較短暫,後者維持的時間比較長。 並且我們尋常手機的應用比方網易、貼吧等等都有非常多

java static 方法普通方法區別

對象 static 方法區 修改 需要 總結 資源 其他 一個  static 方法不需要實例化,靜態方法在JVM剛加載的時候就編譯過了.在程序的運行過程中隨時可以調用,不需要去實例化某個對象然後再去調用,可以直接用類名去調用,直到結束釋放內存,且靜態方法只能調用類靜態變量

C#集合中的AddAddRange方法

dog enqueue 參考資料 array style 添加 soft uic tar C#.NET的集合主要位於System.Collections和System.Collections.Generic(泛型)這兩個namespace中。 1、System.Collec

inline-block元素的空隙解決方法

rom move 寬高 上下文 無效 cin idt 遮擋 inpu 多次遇到了使用inline-block後留下間隙的問題,所以記錄一下,以提醒自己以後留意這點。 現象描述: 使用display:inlie-block後和一些行內元素都有此現象如:<a&g

AppFuse 3常見問題解決方法

新建 配置 ng- fuse contex ext 什麽 article ger 非常長一段時間沒做SSH項目了。近期抽出時間看了一下升級到3.x的appfuse,對新版本號使用過程中出現的一些問題進行了排查。匯總例如以下。以備後用。本文原文出處: http://blog

初識多線程之基礎知識常用方法

splay 線程與進程 -- 實現 class png sleep .com code 1.線程與進程的描述: 1.1進程:每個進程都有獨立的代碼和數據空間(進程上下文),進程間的切換會有較大的開銷,一個進程包含1~n個線程。(進程是資源分配的最小單位)   1.2線程:

dynamic-load-apk 插件宿主方法互調

-a rstp com 不一致 host width blog clas 技術分享 新建項目 DlPluginHost,下載dynamic-load-apk源碼 1.將dynamic-load-apk 文件夾中的lib做為module導入到DlPlginHost 2.

【Source教程】VTFEdit安裝使用方法

協議 gre 方式 installer tar 有意 menu get 也會 返回【Source教程】文章目錄 一、下載與安裝 下載地址在這裏。 首先打開VTFEdit的下載地址。 找到網頁上的Download,點擊Installer,下載VTFEdit安裝版。

代碼塊靜態代碼塊靜態方法的加載順序

setname getname tag urn pri 靜態方法 sta 進入 load public abstract class ClassLoadingTest { public static void main(String[] args) {

淺談javascript中的callapply方法

分享 .cn ima his 修改 images 一個數 作用 undefine   call方法與apply方法都是為了改變函數體內部this的指向。   call方法與apply方法,這二者的作用完全一樣,只是接受參數的方式不太一樣。   apply()方法:  

【Source教程】3DsMax SMD Plugin的下載安裝使用方法

.cn mage 路徑 tools 當前 ima 其他 images 方便 返回【Source教程】文章目錄 一、下載與安裝 下載地址在這裏。 1.Cannonfodder的插件。(3DsMax5~2012、32位64位系統可以參考此部分) 先打開下載頁面,選擇左邊的"3D

HTML5 | Canvas中變量作用域setInterval()方法的影響

通過 value utf 出現 close span arc shadow cli Demo - 隨機繪制圓環 實現思路: 將一個圓環的繪制分成100份,setInterval()方法定義每隔時間n繪制一段新的,每份的開始路徑都是上一次的結束路徑,實現步進繪制。 通

hibernate架構之session中getload方法的區別

r.java one 升級版 數據庫 apache appenders 進行 方法 main hibernate是一個用於連接數據庫的升級版JDBC,與一般JDBC不同的是,hibernate架構是通過hql進行查找,通過session建立連接。其工作原理是:將實例分為瞬時