我們的這個列表用到了四種基本數據類型,那么None呢?當然也可以。既然我們說了列表也是一種數據類型,那么列表能不能作為另一個列表的元素呢?答案是:能!請看:
如果我要查看列表中的第幾個要素,就可以列表后面加中括號,括號里面是序號。注意,在計算機領域,絕大多數情況下都是從0開始數的,所以要查看list1的第一個要素,就得是list1[0]。如果要查看倒數第一個要素,倒是list1[-1]。
最后一個展示了當我的索引值超過了范圍時出現的錯誤。因為list1有4個要素,正向從0開始數,分別是0,1,2,3。4就超過范圍了,所以會出錯。要添加一個要素怎么辦,比如同學們想試試看我剛剛說的None也是可以加進去的說法對不對。用append()?;蛘哂械娜讼氚岩粋€要素插入指定的位置,理所當然的,用insert()。
注意用insert時前面一個參數是序號,也就是0,1,2,3,4,想新插進去的元素以后的序號是多少,這個參數的值就應該是多少。加完了就是刪除了,刪除用pop()。pop(-2),就是刪除序號是-2也就是倒數第二個要素。pop(3)就是刪除序號是3,正數第四個要素。如果不帶參數,直接pop(),那就是刪除最后一個要素。有一點要注意,pop()是有返回值的,還記得函數里面的返回值么,他的返回值就是刪除的那個要素。
好了,重點來了,還記得我們上期獲取到的數據么?一共28條,也就是我們獲取到的列表里面有28個要素,難道我要每次從從0取到27,這么蠢的事情,從來不是程序員做的。做過的請默默地離開程序員的隊伍,記得帶好門。如何輕松愉快的處理列表里面的每一個要素呢,那就輪到循環出場了。所謂循環嘛,就是一遍又一遍的去做一件事,只不過每次用的是列表里面的不同的要素。循環的格式是:for itme in items: #do something用人話翻譯過來,就是對于itmes里面的每一個item,都用來搞點事情。比如我們要從上期得到獲取到的數據imglist中下載圖片:for imgurl in imglist: filename = imgurl.split("/")[-1] request.urlretrieve(imgurl, filename)就是對于imglist里面的每一個imgurl,都用來下載url相應的圖片。還記得我們說過在python里面用冒號和縮進表示邏輯關系么,看上面for循環語句,下面的兩句代碼都是每次循環中要干的事情。第一語是給這次要下載的文件搞個名字,名字就從url里面來。比如對于url:'http://a2.att.hudong.com/74/55/19300534135873134543558063175.jpg',最后的xxxx.jpg用來當文件名最好,于是就從這一串url里面取出來,首先根據反斜杠“/”進行切分。想想進行切分之后是不是應該有好多個部分,那是什么數據類型呢?對,就是我們今天說的列表。然后從中取出倒數第一個,就是文件名了。列表好用吧。第二句就是下載了,從url下載,保存成filename。還記得request是哪個模塊的東西吧?好了,現在我們可以下載了。試試看吧,你的py文件所在的文件夾是不是有圖片了。可能,有的人有了,有的人沒有,還報錯了,有的人有也報錯了。為什么錯呢,因為網絡這東西,有時候就是很迷啊。從網上下東西,很難保證百分百成功的,就算我是迅雷年費磚石最高級Vip都不例外。下期就來說,遇到這種錯誤怎么處理。另外,在python里面還有一個跟列表很像的東西,叫元組(tuple),他定義了之后里面的要素是不可變的,和列表用中括號不同,他是用圓括號表示。比如:tuple1 =(1,2)tuple2 = (3,)定義了就定義了,沒有pop(),append(),insert()這些來鬧眼子。至于為什么定義tuple2時一個元素的時候要在后面加一個逗號,是因為避免和數學運算里面的括號混淆呀。
歡迎關注我的微信公眾號獲取最新文章:

新聞熱點
疑難解答