列表,元组
列表的创建
list_a = [ '列' '表' '的' '创' '建' ]
list_b = [ ]
list_c = list ( ( 1 , 3 , 5 , 7 , 9 ) )
list ( range ( 1 , 10 , 2 ) )
list ( 'helloword' )
列表元素的增加
(1)使用"+"运算符将元素添加到列表
list_d = [ 3 , 4 , 5 ]
list_e = list_d+ [ 7 ]
print ( list_e)
(2)使用列表对象的append()方法
f = [ ]
f. append( 9 )
print ( f)
(3)通过extend()方法来增加列表元素
g = [ ]
g. extend( [ 11 , 13 , 15 ] )
print ( g)
(4)使用运算符"+="添加元素
h = [ ]
h += '1234'
print ( h)
h += range ( 3 )
print ( h)
h += map ( str , range ( 3 ) )
print ( h)
(5)使用列表对象的insert()方法将元素添加至列表的指定位置
i = [ 1 , 3 , 5 , 7 ]
i. insert( 3 , 6 )
print ( i)
(6) 使用乘法来拓展列表对象,将列表与整数相乘生成一个新列表
j = [ 2 , 4 , 6 ]
j*= 3
print ( j)
列表元素的删除
(1)使用del命令删除列表中指定位置上的元素
list_k = [ 3 , 5 , 7 , 9 ]
del list_k[ 1 ]
print ( list_k)
(2)使用列表pop()方法删除并返回指定位置上的元素(默认为最后一个)上的元素
list_l = list ( ( 3 , 5 , 7 , 9 , 11 ) )
list_l. pop( )
print ( list_l)
list_l. pop( 1 )
print ( list_l)
(3)使用列表对象的remove()方法删除首次出现的指定元素
list_m = [ 3 , 5 , 7 , 9 , 11 ]
list_m. remove( 7 )
print ( list_m)
列表元素访问与计数
list_n = [ 1 , 2 , 34 , 56 , 7.5 , 23 , 2 ]
print ( list_n[ 3 ] )
print ( list_n. index( 2 ) )
print ( list_n. count( 2 ) )
列表的成员资格判断
list_o = [ 3 , 4 , 5 , 5.5 , 7 , 9 , 11 , 13 , 15 , 17 ]
print ( 2 in list_o)
列表切片的基本操作
list_p= [ 3 , 4 , 5 , 6 , 7 , 9 , 11 , 13 , 15 , 17 ]
(1)返回包含所有元素的新列表
print ( list_p[ : : ] )
(2)逆序的所有元素
print ( list_p[ : : - 1 ] )
(3)偶数位置,隔一个取一个
print ( list_p[ : : 2 ] )
(4)奇数位置,隔一个取一个
print ( list_p[ 1 : : 2 ] )
(5)从下标3开始的所有元素
print ( list_p[ 3 : : ] )
(6)下标在[3,6)之间的所有元素
print ( list_p[ 3 : 6 ] )
(7)前100个元素,自动截断
print ( list_p[ 0 : 100 : 1 ] )
(8)下标4之后的所有元素,自动截断
print ( list_p[ 4 : ] )
使用切片原地修改列表内容
list_r= [ 3 , 5 , 7 ]
(1)在尾部追加元素
list_r[ len ( list_r) : ] = [ 9 ]
print ( list_r)
(2) 替换前3个元素
list_r[ : 3 ] = [ 1 , 2 , 3 ]
print ( list_r)
(3)删除前3个元素
list_r[ : 3 ] = [ ]
print ( list_r)
(4)替换偶数位置上的元素
list_s= list ( range ( 10 ) )
list_s[ : : 2 ] = [ 0 ] * 5
print ( list_s)
(5)使用del与切片结合来删除列表元素
list_t= [ 1 , 3 , 5 , 7 , 9 , 11 , 13 , 15 , 17 ]
del list_t[ : 3 ]
print ( list_t)
del list_t[ : : 2 ]
print ( list_t)
列表的排序
(1)使用列表对象的sort()方法进行原地排序
list_u = [ 11 , 4 , 5 , 6 , 17 , 3 , 7 , 9 , 5 , 13 , 15 ]
list_u. sort( )
print ( list_u)
list_u. sort( reverse= True )
print ( list_u)
list_u. sort( key= lambda x: len ( str ( x) ) )
print ( list_u)
(2)使用内置函数sorted()对列表进行排序并返回新列表
list_v = [ 11 , 4 , 5 , 6 , 17 , 3 , 7 , 9 , 5 , 13 , 15 ]
print ( sorted ( list_v) )
print ( sorted ( list_v, reverse= True ) )
(3)使用列表对象的reverse()方法将元素原地逆序
list_w= [ 3 , 4 , 5 , 6 , 7 , 9 , 11 , 13 , 15 , 17 ]
list_w. reverse( )
print ( list_w)
(4)使用内置函数reversed()对列表元素进行逆序排列并返回迭代对象
list_x= [ 3 , 4 , 5 , 6 , 7 , 9 , 11 , 13 , 15 , 17 ]
x_list= reversed ( list_x)
list ( x_list)
for i in x_list:
print ( i, end= ' ' )
内置函数map,list,any,all,zip的使用
(1)all()和any()函数
print ( all ( [ 1 , 2 , 3 ] ) )
print ( all ( [ 0 , 1 , 2 , 3 ] ) )
print ( any ( [ 0 , 1 , 2 , 3 ] ) )
print ( any ( [ 0 ] ) )
(2)zip()函数
a_list= [ 1 , 2 , 3 ]
b_list= [ 'a' , 'b' , 'c' ]
c_list= zip ( a_list, b_list)
list ( c_list)
(3)list()函数
a = list ( )
b = list ( 'python' )
print ( b)
c = ( 'hello world !' )
d = list ( c)
print ( d)
e= { 1 , 4 , 'wt' }
f= list ( e)
print ( f)
(4)map()函数
x= [ 1 , 2 , 3 , 4 , 5 ]
y= list ( map ( int , x) )
print ( y)
列表推导式的使用
(1) list = [ i for i in range(a,b) ]
list1= [ i for i in range ( 1 , 21 ) ]
print ( list1)
(2) list = [ i for i in range(a,b) if i%2==0 ]
list2= [ i for i in range ( 0 , 101 ) if i% 2 == 0 ]
print ( list2)
(3) list = [(i, j) for i in range(a, b) for j in range(c, d)]
list3 = [ ( i, j) for i in range ( 0 , 3 ) for j in range ( 2 , 4 ) ]
print ( list3)
(4) list = [结果1 if 条件 else 结果2 for i in 可迭代]
list4 = [ '66' , 'hhh' , 'jsy' , 'JSY' , 'main' ]
list5 = [ word. title( ) if word. startswith( 'h' ) else word. upper( ) for word in list4]
print ( list5)