《轉》python學習(7) 列表

2022-09-16 06:15:15 字數 4434 閱讀 7494

**

一、序列型別操作符

1、切片和[:]

2、成員關係操作符(in ,not in )

1:  s1 = [1,2,3,4,5,6,7]
2:  s2 = [2,3,6]
3:  s3 =
4:  for obj in s1:

5:       if obj not in s2:

7:
8:  print s3
9:  s4 = set(s1)-set(s2)
10:  print s4    #set([1, 4, 5, 7])

3、連線操作符 (+)

+:   兩邊連線同型別的,並且連線之後建立乙個新的物件,不能將乙個元素新增進去,只能是乙個list物件+list物件。 

1:  print s1+s2 #[1, 2, 3, 4, 5, 6, 7, 2, 3, 6]

1:  注意:
2:  li=[1,2,3]
3:  li.extend('good'),

4:  print li  則輸出:[1,2,3,'g','o''o','d']

注意:

1:  >>> li = [1,2,3]
2:  >>> li+'new item'

3:
4:  traceback (most recent call last):
5:    file "", line 1, in 

6:      li+'new item'

7:  typeerror: can only concatenate list (not "str") to list

8:  >>> li.extend('item')

9:  >>> li
10:  [1, 2, 3, 'i', 't', 'e', 'm']

12:  >>> li
13:  [1, 2, 3, 'i', 't', 'e', 'm', 'item']

14:  >>>

4、重複操作符(*)

二、列表型別內建函式

1:  lis = [1,2,3,4,'a','b','c','a','aaa','e','great']

3:  print lis   #[1, 2, 3, 4, 'a', 'b', 'c', 'a', 'aaa', 'e', 'great', 'object']

2、list.count(obj):返回乙個物件obj在列表**現的次數

1:  #print lis.count('a')  #2

3、list.extend(seq):把序列seq的內容新增到列表中

1:  lis.extend('seq')   #[1, 2, 3, 4, 'a', 'b', 'c', 'a', 'aaa', 'e', 'great', 's', 'e', 'q']

4、list.index(obj,i=0,j=len(list)):返回list[k]==obj的k值,並且k的範圍在 i<=k

1:  #print lis.index('aaa')  #8

5、list.insert(index,obj):在索引量為index的位置插入物件obj(必須兩個引數)

1:  lis.insert(1,'z')

2:  print lis   #[1, 'z', 2, 3, 4, 'a', 'b', 'c', 'a', 'aaa', 'e', 'great']

6、list.pop(index = -1):刪除並返回指定位置的物件,預設是最後乙個

1:  print lis.pop()     #great
2:  print lis.pop(1)    #2

7、list.remove(obj):從列表中刪除物件obj

1:  lis = [1,2,3,4,'a','b','c','a','aaa','e','great']

2:  #lis.remove('value')

3:  #如果不存在則發生異常:
4:  #traceback (most recent call last):
5:  #  file "e:\project\python_test\src\test\dic.py", line 8, in 

6:  #    lis.remove('value')

7:  #valueerror: list.remove(x): x not in list

8:  lis.remove('a')

9:  #如果有多個相同的值,則只刪除最前面的乙個:[1, 2, 3, 4, 'b', 'c', 'a', 'aaa', 'e', 'great']

10:  lis.remove('great') #[1, 2, 3, 4, 'b', 'c', 'a', 'aaa', 'e']

11:
12:  print lis

8、list.reverse():原地翻轉列表

1:  lis = [1,2,3,4,'a','b','c','a','aaa','e','great']

2:  lis.reverse()
3:  print lis   #['great', 'e', 'aaa', 'a', 'c', 'b', 'a', 4, 3, 2, 1]

9、list.sort()

1:  lis = [1,2,3,4,'a','b','c','a','aaa','e','great']

2:  #lis.sort(cmp=none, key=none, reverse=false)

3:  lis.sort(cmp=none, key=none, reverse=true)

4:  print lis   #['great', 'e', 'c', 'b', 'aaa', 'a', 'a', 4, 3, 2, 1]

注意:那些可以改變物件值的可變物件的方法是沒有返回值的

如:

1:  lis = [1,2,3,4,'a','b','c','a','aaa','e','great']

2:  print lis.extend('mm')  #none

3:  result = lis.extend('mm')

4:  print result    #none

這些操作會在列表中原地執行操作,也就是說現有的列表內容會被改變,但是沒有返回值。與之相反,字串方法有返回值:

1:  print 'abc'.upper() #abc

其中與序列有關的內建函式,則可有返回值:

1:  print reversed(lis)     #object at 0x0128dad0>

2:  print sorted(lis)       #[1, 2, 3, 4, 'm', 'm', 'm', 'm', 'a', 'a', 'aaa', 'b', 'c', 'e', 'great']

三、序列型別函式

1、len()
2、max() min()
3、sorted()、reversed():注意字串排序時使用字典序,而不是字母序
4、enumerate()、zip()
見:
5、sum()
6、list()、tuple()

Python初探7 列表

number 1 2 3 baba 哈哈 number 1 2 3 baba 哈哈 number 1,2,3,4,5,6,7,8,9 number 1,2,3,4,5,6,7,8,9 mix 2,無賴 3.14,1,1,4,3,2 mix 2,無賴 3.14,1,1,4,3,2 kongliebia...

python學習(三) 列表

list是類,由中括號括起來,分割麼個元素,列表中元素可以是數字,字串,列表,布林值 所有都可以放進去 可以修改 li 1,asd true,小二 1,2 物件 索引取值 print li 3 切片,結果也是列表 print li 1 1 1 列表的修改 刪除 li 1,asd true,小二 1,...

Python學習1 列表

str 轉換成字串 可以用來避免型別出錯 用方括號表示 列表是從0開始索引而不是1 del 刪除知道位置的元素不繼續使用該值 pop 刪除已知位置的元素並繼續使用該值 remove 刪除已知元素的值,也可以繼續使用該值,但是remove只能刪除一次,不能刪除重複的值,需要迴圈刪除 sort 對列表進...