python基礎學習2 list與tuple

2021-08-18 13:11:57 字數 2519 閱讀 8096

#列表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 合...