一、list
1.對列表內容的創建,訪問,添加,刪除,替換
# -*- coding: UTF-8 -*-
#使用[]創建一個名爲L的list
L=[1,2,3,4,5]
#按照索引訪問第一個和最後一個元素
print L[0],L[-1]
#使用append添加新元素時總是添加在list最後
L.append(6)
print L
#使用insert方法插入新元素,傳入兩個參數,第一個爲插入的位置索引,第二個爲插入的值
L.insert(2,"third")
print(L)
#使用pop方法刪除指定索引位置的元素,如不指定參數,默認刪除最後一項
L.pop(1)
print(L)
#替換List中的元素時,直接對需替換的元素進行賦值,如把字符串third替換爲整數2
L[1]=2
print(L)
輸出結果爲:
1 5
[1, 2, 3, 4, 5, 6]
[1, 2, 'third', 3, 4, 5, 6]
[1, 'third', 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
2.對列表內容的截取操作
#對列表截取,創建一個新列表
l2=["a","b","c","d"]
print(l2[0:3])
print(l2[0:])
輸出結果爲:
['a', 'b', 'c']
['a', 'b', 'c', 'd']
可以發現,對列表的截取操作時,是取前不取後的,即訪問l2的第0個到第3個索引時,是不訪問第三個的,到第二個索引就截止了,所以,如果要訪問到最後一個元素,使用[x:]這種形式,從第x個索引訪問到最後一位。
3.list中的函數
3.1比較函數cmp(L1,L2)
如果L1和L2類型和內容完全相等,則返回0,如前者大,則返回1;如後者大,則返回-1。
3.2 Max和Min函數
max(L1),則返回L1中的最大值,需注意的是,如果L1中同時存在字符串和數字類型,那麼字符串永遠大於數值類型。
3.3列表複製
在python 2的版本里,似乎list沒有copy這個方法?但是copy方法屬於淺拷貝,複製的列表id是一樣的,需要使用深拷貝工具(不會)。
#複製列表時,另a=b是傳址操作,使用a.copy()是傳值操作
a=[1,2,3]
b=a
b[0]=100
print a ,b
<<[100, 2, 3] [100, 2, 3]
#使用a.copy()是傳值操作
a1=[1,2,3]
b1=a1.copy()
b1[0]=100
print a1 ,b1
<<[1, 2, 3] [100, 2, 3]
4.list列表生成式使用
#列表生成式的使用
a=range(1,20)
b=[i*2 for i in range(1,5)]
print b
c=[m for m in a if m%2==0]
print c
d=[m+n for m in b for n in c ]
print d
輸出結果爲:
[2, 4, 6, 8, 10, 12, 14, 16, 18]
[4, 6, 8, 10, 12, 14, 16, 18, 20, 6, 8, 10, 12, 14, 16, 18, 20, 22, 8, 10, 12, 14, 16, 18, 20, 22, 24, 10, 12, 14, 16, 18, 20, 22, 24, 26]