列表(list)函数:
函数名(参数) | 作用 |
---|---|
append(object) | 在列表末尾添加新元素 |
extend(iterable) | 将迭代对象各元素添加于列表 |
insert(index,object) | 将元素插入指定索引位置 |
pop(index) | 删除索引值的元素,同时返回元素,若不写入参数则默认为列表最后一位元素。 |
clear() | 删除整个列表,原列表变为空列表,而非None。 |
remove(object) | 删除列表对应的元素值,若不存在则抛出错误。 |
count(object) | 返回元素在列表中出现的次数 |
index(object) | 查询元素第一次出现的索引位置,若不存在,则报错。 |
reverse() | 将列表“倒序”,并没有进行数值对比仅仅是位置上的从右到左排列,效果等同于[::-1] |
sort(reverse) | 将列表根据数值大小排序,默认为升序,若reverse=True则降序。 |
其他相关内置函数 | max()、min()、sum()、sorted()、reversed()等 |
特殊用法 | 列表解析式 |
插入类型函数:
- append(object):
在列表末尾添加新元素
li = [1,3,2]
li.append(4)
print(li)
→[1,3,2,4]
- extend(iterable):
将迭代对象各元素添加于列表
li = [1,3,2]
li.extend((1,2,3))
print(li)
→[1,3,2,1,2,3]
3.insert(index,object):
将元素插入指定索引位置
li = [1,3,2]
li.insert(1,4)
print(li)
→[1,4,3,2]
注:insert()函数不建议使用,列表遵循栈的数据结构,而insert()的使用会遍历列表,效率低下。
删除类型函数:
- pop(index):
删除索引值的元素,同时返回元素,若不写入参数则默认为列表最后一位元素。
li = [1,4,3,2]
a = li.pop()
print(li, a)
→[1,4,3] 2
- remove(object):
删除列表对应的元素值,若不存在则抛出错误。
li = [1,4,3,2]
li.remove(4)
print(li)
→[1,3,2]
li.remove(5)
→ValuesError
- clear():
删除整个列表,原列表变为空列表,而非None。
li = [1,4,3,2]
li1 = li.clear()
print(li1)
→[]
查询类型函数:
- count(object):
返回元素在列表中出现的次数。
li = [1,2,3,2]
a = li.count(2)
print(a)
→2
- index(object):
查询元素第一次出现的索引位置,若不存在,则报错。
li = [1,2,3,2]
print(li.index(3))
→2
排序类型函数:
- reverse():
将列表“倒序”,并没有进行数值对比仅仅是位置上的从右到左排列,效果等同于[::-1] 。
li = [1,2,3,2]
li.reverse()
print(li)
→[2,3,2,1]
- sort( reverse = False):
将列表根据数值大小排序,默认为升序,若reverse=True则降序。
li = [1,3,2]
li.sort()
print(li)
→[1,2,3]
li.sort(reverse=True)
print(li)
→[3,2,1]
gua = ['bc','acegt','ab','aca']
gua.sort()
print(gua)
→['ab', 'aca', 'acegt', 'bc']
注:如果包含英文时判断依据根据ASCII码值来比较,从英文首字母开始对比,若首字母相同则从第二个字母比较,以此类推。
其他相关内置函数:
- max(*args):
顾名思义,返回列表最大元素值,字母的比较也遵循ASCII码。
li = [1,2,3,2]
print(max(li))
→3
gua = ['bc','acegt','ab','aca']
print(max(gua))
→bc
- min(*args):
同max(),返回列表最小元素值。 - sum(iterable):
返回迭代对象元素值总和,仅支持纯数值迭代对象。
print(sum([1,2,3,1.1]))
→7.1
- sorted(iterable, reverse=False):
内置函数sorted作用同list.sort(),但是会返回一个新的列表。
print(sorted([1,3,2,1]))
→[1,1,2,3]
注:print(li.sort())将返回None,因为其不返回任何值,只是将li进行了排序
- reversed(object):
作用同list.reverse(),但是reversed()传入参数后返回一个迭代器,需要用list或者tuple引用,且只能引用一次。
li = [1,3,2,4]
li1 = reversed(li)
print(li1)
→<list_reverseiterator object at 0x000000FBA22C4240>
print(list(li1))
→[4,2,3,1]
print(tuple(li1))
→()
列表解析式:
列表解析式算得上是Python的特点之一,其极大程度缩减了代码的行数。
用法:
[n for n in iterable] 其中第一个n对象还可以为对象表达式,如n*2,甚至调用函数,如n.lower()等,解析式的结果是返回一个列表。
li = [n*2 for n in range(0,10)]
print(li)
→[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
li = [(x,y,z) for x in 'ab' for y in range(3) for z in range(2)]
print(li)
→[('a', 0, 0), ('a', 0, 1), ('a', 1, 0), ('a', 1, 1), ('a', 2, 0), ('a', 2, 1), ('b', 0, 0), ('b', 0, 1), ('b', 1, 0), ('b', 1, 1), ('b', 2, 0), ('b', 2, 1)]
若想结合多个一维列表产生一个多维列表可通过list(map(lambda x,y,z…: [x, y, z, …],iter1,iter2, iter3…))来生成。
元组(tuple)函数
函数名(参数) | 作用 |
---|---|
index(object) | 查询元素第一次出现的索引位置,若不存在,则报错。 |
count(object) | 返回元素在列表中出现的次数 |
特殊用法 | 元组生成器 |
index()与count()和列表对应函数用法一致。
元组生成器
与列表解析式差不多,但是生成器返回一个迭代器而非一个元组对象。
li = ((x,y,z) for x in 'ab' for y in range(3) for z in range(2))
print(tuple(li))
→(('a', 0, 0), ('a', 0, 1), ('a', 1, 0), ('a', 1, 1), ('a', 2, 0), ('a', 2, 1), ('b', 0, 0), ('b', 0, 1), ('b', 1, 0), ('b', 1, 1), ('b', 2, 0), ('b', 2, 1))
print(list(li))
→[]