【python函数】

1、列表 append() 用于在列表末尾追加新的对象,只能添加一个对象

append() 方法语法:member.append(obj),

member.append('new')  
member.append(['xy2','xy3','xy4'])   #也是可以的,即把['xy2','xy3','xy4']看做一个对象

2、列表 extend() 通过在列表末尾追加可迭代对象中的元素来扩展列表

extend() 方法语法:member.extend(iterable)   

#iterable -- 可迭代对象(字符串、列表、元组、字典)  如:

member.extend(['new1','new2']) 
member.extend('1,2')#即[……,'1','2']

3、列表 insert()将指定对象插入到列表中的指定位置,0是列表的第一个数,

insert() 方法语法:member.insert(index,obj)   #index -- 对象obj需要插入的索引值。obj -- 要插入列表中的对象。如:

member.insert(0,'xy0')

4、列表 remove() 方法通过指定元素的值来移除列表中某个元素的第一个匹配项,如果这个元素不在列表中会报一个异常

remove() 方法语法:member.remove(obj)    #obj -- 要从列表中移除的元素的值。

5、del 删除是个方法,如:
del member[1]   或者  del member

6、列表 pop() 方法通过指定元素的索引值来移除列表中的某个元素(默认是最后一个元素),并且返回该元素的值,如果列表为空或者索引值超出范围会报一个异常。

pop() 方法语法:member.pop(index)  #index -- 可选参数,要从列表中移除的元素的索引值,默认的索引值是-1。

7、列表分片member[ : ] 获取列表的多个元素,末尾的index实际取的是index-1 不包含自身,常用语列表拷贝,如:

member[1:3] #即取出列表member的1,2索引值

member[:] 两边不写可以获得一个完整的列表拷贝,与用赋值==号不同,赋值只是指向同一对象,分片是多了一个相同的对象2,如:

list1 = [1,2,3,4]
list2 = list1[:]
list3 = list1
list1.sort(reverse=True)
print('list1:',list1)
print('list2:',list2)
print('list3:',list3)
#list1:[4,3,2,1]
#list2:[1,2,3,4]
#list3:[4,3,2,1]

8、列表 copy() 方法用于复制(浅拷贝)列表,类似于 上面的分片member[:]

9、列表 clear() 方法用于清空列表,类似于 del member[:]

10、列表关系操作符

比较关系操作符,只比较列表序列为0的值,如,

list1 = [123,456]
list2 = [456,123]
list1 < list2
#结果:True

逻辑关系操作符

list3 = [123,456]
(list1 < list2) and (list1 == list3)
#结果:True

连接关系操作符,将列表值添加,等同于extend()函数

list1 = list1 + list2

重复关系操作符,将列表值复制

list1 = list1*3 #将list1列表值复制3遍

成员关系操作符

in  not in不支持列表中列表,如

list4 = [1,2,3,['xy','xy2']]
'xy' in list4 #False
'xy' in list4[3] #True

count() 方法用于统计字符串中某个子字符串出现的次数

count() 方法语法: S.count(obj) 

列表 index() 方法用于从列表中找出某个对象第一个匹配项的索引位置,如果这个对象不在列表中会报一个异常。 

index() 方法语法:L.index(obj[,start=0[,stop=len(L)]])

#obj -- 查找的对象。

#start -- 可选参数,开始索引,默认为0。(可单独指定)

#stop -- 可选参数,结束索引,默认为列表的长度。(不能单独指定)

列表 reverse() 方法对列表中的元素进行反向排序

列表 sort() 方法对列表进行排序,默认从小到大,

#key-- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。

#reverse-- 可选参数,是否反向排序,默认为False即从小到大。

【课堂小知识】

列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。Ta 是一个非常有用和灵活的工具,可以用来动态的创建列表

list1 = [x**2 for x in range(10)]
list1
#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
相当于
list1 = []
for x in range(10):
    list1.append(x**2)

【课后问题】

1、 请问如何将下边这个列表的'小甲鱼'修改为'小鱿鱼'?

list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]

答:list1[1][2][0] = '小鱿鱼'

2、 要对一个列表进行顺序排序和逆向排序,请问使用什么方法

答:顺序list.sort() 逆序list.sort(reverse = True)

3、 请先在 IDLE 中获得下边列表的结果,并按照上方例子把列表推导式还原出来

list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]

答:

list1=[]
for x in range(10):
    for y in range(10):
        if x%2 == 0 and y %2 !=0:
            list1.append((x,y))
print(list1)