list函数总结

@基础复习
刚开始学习有很多不熟悉,先整理一下基础的,以后随时查看。先来list的操作

a=[3,4]
>>> print(dir(a))
'''['__add__', '__class__', '__contains__', '__delattr__', 
'__delitem__', '__dir__', '__doc__', '__eq__', '__format__', 
'__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', 
'__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', 
'__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', 
'__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', 
'__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 
'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 
'pop', 'remove', 'reverse', 'sort']'''
# 按照后面append->sort的顺序整理了一下

append list.append(element)

a = [1, 3, 4, 6, 9]
a.append(8)  # 一次只能添加一个元素
print(a)
#结果
[1, 3, 4, 6, 9, 8]

clear list.clear()

b = a
a.clear()  # 清空列表,注意a复制给其他变量的值也会被清空,无返回值
print('clear后的a:', a)
print('clear后的 b:', b)

结果
clear后的a: [ ]
clear后的 b: [ ]

copy list.copy()

a = [1, 3, 4, 6, 9, 4, 9]
old_list = a
list_new = a.copy()
list_new.append('cat')
print('oldlist', a)
print('new list:', list_new)

结果
oldlist [1, 3, 4, 6, 9, 4, 9]
new list: [1, 3, 4, 6, 9, 4, 9, ‘cat’]
对新复制列表的操作不会影响旧列表,如果是直接赋值会影响旧list
如:

>>> oldlist = [1, 3, 4, 6, 9, 4, 9]
>>> newlist = oldlist
>>> newlist.append('cat')
>>> print('old list is',oldlist)
old list is [1, 3, 4, 6, 9, 4, 9, 'cat']
>>> print('new list is',newlist)
new list is [1, 3, 4, 6, 9, 4, 9, 'cat']

count list.count(element)

a = [1, 3, 4, 6, 9, 4, 9, ('a', 'b')]
count = a.count(4)
count2 = a.count(('a', 'b'))
print('the count of 4 in a is ', count)
print('the count of (a,b)in a is ', count2)

结果
the count of 4 in a is 2
the count of (a,b)in a is 1

extend list.extend(newlist/dict/set)

将set/dict 型数据用extend添加到list型数据里面,原本dict/set型数据变成了list

a = [1, 3, 4, 6, 9, 4, 9, ('a', 'b')]
n_set = {3, 4, 3, (3, 33)}
a.extend(n_set)
print(a)
print('n_set的type:', type(n_set), 'a type:', type(a))

结果
[1, 3, 4, 6, 9, 4, 9, (‘a’, ‘b’), 3, 4, (3, 33)]
n_set的type: <class ‘set’>
a type: <class ‘list’>
set 表示无序但不能重复的数据类型,当传入重复数据时,set会自动删除重复数据

index list.index(element)

print(a.index(4)) # 这里只查找第一次出现的4
# 结果是 2

insert list.insert(index, element)

a.insert(4, [9, 0])
print(a)
#结果 [1, 3, 4, 6, [9, 0], 9, 4, 9, ('a', 'b'), 3, 4, (3, 33)] 在元素第四位上插入

remove list.remove(element)

remove single element

a = [1, 3, 4, 6, [9, 0], 9, 4, 9, ('a', 'b'), 3, 4, (3, 33)]
a.remove(4)
print(a)   # 只去掉了第一个4
# [1, 3, 6, [9, 0], 9, 4, 9, ('a', 'b'), 3, 4, (3, 33)]

pop list.pop(index) 与remove不同的是会返回删除的元素

ret = a.pop(5)
print(ret)
print(a)
# 4
# [1, 3, 6, [9, 0], 9, 9, ('a', 'b'), 3, 4, (3, 33)]

reverse list.reverse()

eg = ['book', 'pen', 'pencil']
eg.reverse()
print(eg)
#['pencil', 'pen', 'book']

另一种reverse的方法

#reversed_list = eg[star:stop:step]
reversed_list = eg[::-1]
print('reversed_list:', reversed_list)
#['pencil', 'pen', 'book']

单独打印出倒序排列的元素

eg = ['book', 'pen', 'pencil']
for o in reversed(eg):
    print(o)
#pencil
#pen
#book

sort list.sort(key=…, reverse=…)

vowels = ['e', 'a', 'u', 'o', 'i']
# sort the vowels
vowels.sort()#排列的元素不成对,默认升序
# print vowels
print('Sorted list:', vowels)
#Sorted list: ['a', 'e', 'i', 'o', 'u']

降序排列

vowels = ['e', 'a', 'u', 'o', 'i']
vowels.sort(reverse=True)
# print vowels
print('Sorted list (in Descending):', vowels)
#Sorted list (in Descending): ['u', 'o', 'i', 'e', 'a']

按照list里第二个元素排序

def takeSecond(elem):
    return elem[1]


# random list
random = [(2, 2), (3, 4), (4, 1), (1, 3)]

# sort list with key
random.sort(key=takeSecond)#默认reverse=false,按照元素第二位升序排列

# print list
print('Sorted list:', random)
random.sort(key=takeSecond, reverse=True)
print('reversed sorted list:', random)  # list第二位元素降序排列
#Sorted list: [(4, 1), (2, 2), (1, 3), (3, 4)]
#reversed sorted list: [(3, 4), (1, 3), (2, 2), (4, 1)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值