創(chuàng)建列表
用逗號(hào)將不同數(shù)據(jù)項(xiàng)分隔開,,整體放在一個(gè)方括號(hào) [ ] 里就創(chuàng)建了列表
列表中的數(shù)據(jù)類型可以是相同的(如上面的int和str類型),,也可以是不同的
list1=[1,2,'python']
list2=[]
type(list2)
list
列表基本操作
list3=[1,2,34,5]
list3[3]
5
字符串拼接
list4=['python']
list5=list3+list4
list5
[1, 2, 34, 5, 'python']
列表復(fù)制
list5*2
[1, 2, 34, 5, 'python', 1, 2, 34, 5, 'python']
求列表長(zhǎng)度
len(list5)
5
len(list5*3)
15
對(duì)列表元素循環(huán)
for i in list5:
print(i)
1
2
34
5
python
檢查列表中是否存在某個(gè)元素(返回的是布爾值 bool )
2 in list5
True
del list5[4]
list5
[1, 2, 34, 5]
max(list5)
34
列表切片
列表切片指的是將列表的一部分切出來,,有點(diǎn)像字符串切片
列表切片的形式是:list[起始索引:終止索引(不包含):步長(zhǎng)間隔], 步長(zhǎng)默認(rèn)為1
list1=list(range(9))
list1
[0, 1, 2, 3, 4, 5, 6, 7, 8]
list2=range(9)
list2
range(0, 9)
list1[5:8]
[5, 6, 7]
list1[5:8:2]
[5, 7]
list1[::2]
[0, 2, 4, 6, 8]
list1[1::2]
[1, 3, 5, 7]
list1[2:]#從索引為2的位置取到最后
[2, 3, 4, 5, 6, 7, 8]
list1[:5]#從索引為5(5取不到)的位置取到最后
[0, 1, 2, 3, 4]
list1[:]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
list1[::] #與list1[:]等同
[0, 1, 2, 3, 4, 5, 6, 7, 8]
list1[:-1]
[0, 1, 2, 3, 4, 5, 6, 7]
list1[2:-1]###冒號(hào)第二個(gè)位負(fù)數(shù),,代表取到倒數(shù)第幾個(gè)
[2, 3, 4, 5, 6, 7]
import math
math.e
2.718281828459045
math.log(math.e)
1.0
from math import *
pi
3.141592653589793
e
2.718281828459045
list1[1:-3] #倒數(shù)第三個(gè)之前
[1, 2, 3, 4, 5]
list1[8:2:-2]
[8, 6, 4]
修改列表元素
list1[2]='python'
list1
[0, 1, 'python', 3, 4, 5, 6, 7, 8]
list1.reverse
reverse>
list1
[0, 1, 'python', 3, 4, 5, 6, 7, 8]
list1.reverse()
list1
[8, 7, 6, 5, 4, 3, 'python', 1, 0]
id(list1)
2171584295560
list.reverse() 反向列表中元素
list1.reverse()
list1
[0, 1, 'python', 3, 4, 5, 6, 7, 8]
id(list1)
2171584295560
list1[1]
1
list1[::-1]
[8, 7, 6, 5, 4, 3, 'python', 1, 0]
list.remove(obj) 移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
list1.remove(1)
list1
[0, 'python', 3, 4, 5, 6, 7, 8]
list1.count('python')
1
num=list1.count(list1[1])
list1[1]
'python'
for i in list1:
num=list1.count(i)
print('%s 出現(xiàn)了%d 次'% (i,num))
0 出現(xiàn)了1 次
python 出現(xiàn)了1 次
3 出現(xiàn)了1 次
4 出現(xiàn)了1 次
5 出現(xiàn)了1 次
6 出現(xiàn)了1 次
7 出現(xiàn)了1 次
8 出現(xiàn)了1 次
for i in range(len(list1)):
num=list1.count(list1[i])
print('%s 出現(xiàn)了%d 次'% (list1[i],num))
0 出現(xiàn)了1 次
python 出現(xiàn)了1 次
3 出現(xiàn)了1 次
4 出現(xiàn)了1 次
5 出現(xiàn)了1 次
6 出現(xiàn)了1 次
7 出現(xiàn)了1 次
8 出現(xiàn)了1 次
list.append( obj )在列表末尾添加新的對(duì)象
list1.append('alice')
list1
[0, 'python', 3, 4, 5, 6, 7, 8, 'alice']
id(list1)
2171584295560
list.count( obj ) 統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
list1.count('python')
list2=['a','b','v','1']
list2.sort()
list2
['1', 'a', 'b', 'v']
list2.sort(reverse= True)
list2
['v', 'b', 'a', '1']
list.pop(obj=list[-1]) 移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),,并且返回該元素的值
list2.pop()
'1'
list2.pop(2)
'a'
list.extend(seq) 在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來的列表)
list2.extend(list1)
list2
['v',
'b',
'[',
'0',
',',
' ',
''',
'p',
'y',
't',
'h',
'o',
'n',
''',
',',
' ',
'3',
',',
' ',
'4',
',',
' ',
'5',
',',
' ',
'6',
',',
' ',
'7',
',',
' ',
'8',
',',
' ',
''',
'a',
'l',
'i',
'c',
'e',
''',
']']
list2.sort()
list2
[' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
''',
''',
''',
''',
',',
',',
',',
',',
',',
',',
',',
',',
'0',
'3',
'4',
'5',
'6',
'7',
'8',
'[',
']',
'a',
'b',
'c',
'e',
'h',
'i',
'l',
'n',
'o',
'p',
't',
'v',
'y']
list2.sort(reverse=True)
list2
['y',
'v',
't',
'p',
'o',
'n',
'l',
'i',
'h',
'e',
'c',
'b',
'a',
']',
'[',
'8',
'7',
'6',
'5',
'4',
'3',
'0',
',',
',',
',',
',',
',',
',',
',',
',',
''',
''',
''',
''',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ']