python List中的方法

python list列表的方法

list的方法继承自common和mutable序列的操作,仅仅扩充了一个方法:sort()

1. aList.append(obj) --将obj添加到aList的末尾
alist = [1,2,3]
blist = [4,5,6]
alist.append(blist)
print(alist)
# 输出结果可以发现,list作为alist的一个元素被添加到slist的末尾
[1, 2, 3, [4, 5, 6]]
2. aList.clear() --删除aList的所有元素,并不删除aList本身
aList = [1,2,3]
aList.clear()
print(aList)
[]
3. aList.count(obj) --返回与obj相等的元素
aList = [1,2,3,4,4,5]
aList.count(4)
2
4. aList.copy() 返回aList的副本,这是浅复制,即不会复制元素。
--浅复制即复制父对象,不会复制父对象的子对象;而深拷贝会复制父对象和子对象
5. aList.extend(sequence) --将序列添加到aList的末尾
aList = [1,2,3]
bList = [4,5,6]
aList.append(bList)
print(aList)
[1, 2, 3, [4, 5, 6]]
6. aList.index(obj) --返回第一个与obj相等元素的索引
7. aList.insert(index,obj) --如果index >=0,就等同于aList[index:index] = [obj];如果index<0,就将指定的对象加入到列表开头。
8. aList.pop([index]) --删除并返回指定索引处的元素,默认-1处的元素
aList = [1,2,3,4,5,6]
a = aList.pop()
print(a)
print(aList)
b = aList.pop(2) # 序号是从0开始的
print(b)
print(aList)
6
[1, 2, 3, 4, 5]
3
[1, 2, 4, 5]
9. aList.remove(obj) --删除指定对象,等同于del[aList.index(obj)]
10. aList.reverse() --就地按相反的元素排列元素
aList = [1,2,3,4,5,6,7,8,9]
aList.reverse()  #注意该函数没有返回值,只是将aList倒置
print(aList)
[9, 8, 7, 6, 5, 4, 3, 2, 1]
11. aList.sort([cmp][,key][,reverse]) --就地对aList元素进行排序,该方法参数的功能与sorted一样。
--sort和sorted方法的不同之处是sort不返回值,sorted方法是将要排序的对象传入函数,返回一个排序后的新对象。

--sorted(iterable[,cmp][,key][,reverse])
  • cmp – 是排序函数,python3已经弃用
  • key – 设置用来排序的值
  • reverse – 是否将排序结果反转
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
print(sorted(students, key=lambda s: s[2]))            # 按年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
print(sorted(students, key=lambda s: s[2],reverse=True))    # 按年龄排序
print(sorted(students, key=lambda s: (s[2],s[1]))    # 多个关键字排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

上面的例子中使用了lambda表达式,作用是创建一个匿名函数,lambda parameters: expression,这个语法将被翻译为:

def <lambda>(parameters):
    return expression
sorted("This is a test string from Andrew".split(), key=str.lower)
['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值