Python list用法及其常見錯誤

2021-06-19 05:47:41 字數 3902 閱讀 6119

python 裡面有乙個非常強大的資料型別list。他什麼都能裝下。

peter@

智普教育:~

$ python

python

2.7.3(

default

,aug

12012,05

:16:07

)

[

gcc

4.6.3]

on linux2

type

"help",,

"credits"

or"license"

formore information

.

>>>

l1 =[4

,5,"5"

]

>>>

print

l1

[4,

5,'5']

>>>

從上面的例子你可以看出 list裡面既可以支援 int型別,也可以支援str型別。

printl1[

0]

>>>

printl1[

0]

4

>>>l1[

0]="32"

>>>

print

l1

[

'32',5

,'5'

]

發生了什麼? 型別都可以改變!這就是奇蹟。 如果你要在c語言裡面這麼做幾乎是不可能的事情。

>>>

l1=[1,

2,3]

>>>l2=

l1

>>>l1[

0]=10

>>>

print

l1

[10,

2,3]

>>>

print

l2

[10,

2,3]

>>>

如何複製?

>>>l2=

l1[:]

>>>

print

l2

[10,

2,3]

>>>l1[

0]=24

>>>

print

l1

[24,

2,3]

>>>

print

l2

[10,

2,3]

>>>

發生了什麼? 第一種是指向,其實還是同乙個內容。 第二種是複製。

本質上的區別

>>>

l2 =

l1

>>>

l2 ==

l1 #值相同

true

>>>

l2 is

l1 #指向同乙個地方

true

>>>

l2 =

l1[:]

>>>

l2 ==

l1 #值相同

true

>>>

l2 is

l1 #並不是指向同乙個地方

false

l1=[1

,"a",[2

,3,4

]]

可以!

如何取得2,3,4?

l1[2

][0]

>>>

l1=

>>>l1[

0]="a"

traceback

(most recent call

last

):

file"",

line 1,

in

indexerror

:list assignment index

outof range

為什麼? 因為l1等於乙個空列表,沒有空間。 l1[0]是需要空間的。

我們該怎麼讓空list儲存資料?

list有一寫預設的函式

l1.(

"a")

刪除成員的方法

>>>l1.

("b"

)

>>>l1.

("c"

)

>>>l1.

("d"

)

>>>l1.

("b"

)

>>>

print

l1

[

"b",

"c",

"d",

"b"]

>>>l1.

remove

("b"

)

>>>

print

l1

[

"c",

"d",

"b"]

>>>l1.

remove

("b"

)

>>>

print

l1

[

"c",

"d"]

還有

l1

.pop

()

再試乙個刪除的高階用法

>>>

print

l1

[2,

3,4,

5]

>>>

dell1[1

:3]

>>>

print

l1

[2,

5]

怎麼樣,python強大嗎?

如何插入乙個元素:

>>>l1.

insert(1

,67)

>>>

print

l1

[2,

67,5]

python list 列表 操作用法總結

nameinfo name1 name2 name3 操作 nameinfo name1 name2 name3 nameinfo name1 name2 name3 前方沒有下橫線的為可用引數,該引數是匯入了乙個tab模組顯示出來。引數解析 nameinfo.count 統計這個字元出現多少次 n...

C 常物件及其成員

c 雖然採取了不少有效的措施 如設private保護 以增加資料的安全性,但是有些資料卻往往是共享的,人們可以在不同的場合通過不同的途徑訪問同乙個資料物件。有時在無意之中的誤操作會改變有關資料的狀況,而這是人們所不希望出現的。既要使資料能在一定範圍內共享,又要保證它不被任意修改,這時可以使用cons...

qsort及其用法

一 函式原型 void qsort void base,size t num,size t width,int cdecl compare const void elem1,const void elem2 大概的意思是,第乙個引數指明了要排序的陣列 比如 程式中的 num 第二個引數給出了陣列的大...