#列表list,字典是可變資料型別,列表項有順序;字串,元組tuple是不可變型別
#迴圈列表
import random
list1=['pens','bags','dogs','cows']
for i in range(len(list1)):
print('index '+str(i)+' is: '+list1[i])
print(list1[random.randint(0,len(list1)-1)])
#變數賦值,變數數量與列表長度要嚴格相等
pen,bag,dog,cow = list1
#多重列表
dlist = [['cat','bat'],[1,2,3,4,5]]
dlist[0]
dlist[1][4]
#列表常用操作
spam = ['cat','bat','rat','hat','kate']
spam[1]
spam[-1]
spam[-2]
spam[1:3]
spam[0:-1]
len(spam)
spam[4] = 'kat'
del spam[3:]
spam = spam + ['hat','katee']
spam.index('bat')
spam.remove('rat')
spam.insert(2,'goose')
spam.sort()
spam.sort(reverse=true)
spam.sort(key=str.lower)
print(sorted(spam))
#列表應用與複製 copy() deepcopy()
import copy
list2 = ['a','b','c','d']
yy = list2
cp = copy.deepcopy(list2)
cp[1]=333
cplist2
yy[1]=222
yylist2
##列表增加元素
例如:在python中 insert 用來將單個元素插入到 list 中。數值引數是插入點的索引。
li=['a', 'b']
li.insert(0,"c")
#輸出為:['c', 'a', 'b']
python中 extend 用來連線 list。
li=['a','b']
li.extend([2,'e'])
#輸出為:['a', 'b', 2, 'e']
## 列表元素位置倒序反轉
li5.reverse() # 方法一
li1 = ['1','2','3','4','5'] #方法二:迴圈往前插入
li2 =
for item in li1:
li2.insert(0,item) # 因為每次迴圈元素都是從下標為0的位置插入,後插入的元素在最前邊
print(li2)
#tuple 元組, 下表方法與列表相同
tuple1 = ('hellp','tup',5)
type(('hello',))
type(('hello'))
type(['hello'])
#型別轉換
tuple(['cat','dog',5])
list(('cat','dog',5))
list('hello')
# numpy array 與 python list 互相轉換
a=([3.234,34,3.777,6.33])
a為python的list型別,將a轉化為numpy的array:
np.array(a)
array([ 3.234, 34. , 3.777, 6.33 ])
現在再將a轉化為python的list
a.tolist()
# array to list
print(str(buy.tolist()).count('0, 1'))
#列表推導式與列表解析式效率比較,耗時差異巨大
import time
a =
t0 = time.clock()
for i in range(1,20000):
print(time.clock() - t0,' seconds process time')
t0 = time.clock()
b = [i for i in range(1,20000)]
print(time.clock() - t0,' seconds process time')
t0 = time.clock()
b = [i**2 for i in range(1,20000) if i%2 ==0]
print(time.clock() - t0,' seconds process time')
Python學習2 list學習
序列都可以進行的操作包括索引,切片,加,乘,檢查成員。python有6個序列的內建型別,但最常見的是列表和元組。列表的資料項不需要具有相同的型別。list01 runoob 786,2.23,john 70.2 list02 123,john names a b c d 擷取 和大多數程式語言一樣,...
python快速入門(2)List
二.list結構 1.定義list型別 months print type months 新增什麼值都行 months print type months print months 如何查詢list當中的元素呢?3.取list中元素,定義index 索引 索引 index 從0開始 例如 直接通過i...
STL學習筆記2 list
list 雙向列表 1 不使用連續的記憶體空間這樣可以隨意地進行動態操作 2 可以在內部任何位置快速地插入或刪除,當然也可以在兩端進行push和pop 3 不能進行內部的隨機訪問,即不支援 操作符和vector.at 大多數函式和vector的類似,這裡就不解釋了,有幾個不一樣的如下 merge 合...