花开清香

python中列表List中常用的函数和方法

列表List中常用的函数和方法

函数

range()

可创建一个整数列表,一般用在 for 循环中。

返回:返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表,

range(start, stop,[step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • top: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

big_num =[]
for num in  range(1,11):
    num = num**2
    big_num.append(num)
print(big_num)

返回
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

这个例子可以用列表解析进行简化
big_num =[num**2 for num in  range(1,11)]
print(big_num)
返回 同

注意:range()并不直接创建一个数字列表,需要用函数list()将range()的结果转换为列表。

list()

ist() 函数用于将元组转换为列表。

注:元组与列表是非常类似的,区别在于元组的元素值不能修改的、是不可变的,元组是放在括号中,列表是放于方括号中。一般来说,不可变的列表叫元组。元组可以像列表一样通过索引来访问。

list( tuple )

参数说明:

  • tuple -- 要转换为列表的元组。

返回:列表

num  = list(range(5))
print(num)

返回
[0, 1, 2, 3, 4]
num = list('word')
print(num)

返回
['w', 'o', 'r', 'd']

min() max() sum()

数字列表执行简单的统计计算

括号内是列表

big_num =[]
for num in  range(1,1000001):
    big_num.append(num)

print(max(big_num))
print(min(big_num))
print(sum(big_num))

返回
1000000
1
500000500000

len()

统计列表中元素的个数,括号内是列表或元组

food =('a','b','c','d','e')
print(len(food))
或
food =['a','b','c','d','e']
print(len(food))

输出
5

方法

.count()

统计列表中某元素出现的次数,括号内是指定的某个元素

num = [1,2,3,3]
print(num.count(3))

输出
2

.append()

.append(obj)

往列表的最后一个位置插入操作,括号内是插入的元素

返回:无,会修改列表。

num = ["a","b","c","school"]
num.append('love')
print(num)

.extend() 或 +相加

可以”+“号 来实现列表的相加。

num_1 = ["a","b","c"]
num_2 = ['teacher',"school"]
num = num_1 + num_2
print(num)

输出
['a', 'b', 'c', 'teacher', 'school']

列表A.extend(列表B)链接两个列表,将列表B接到A的最后边,形成一个新的列表A,A列表已经变化

num_1 = ["a","b","c"]
num_2 = ['teacher',"school"]
num_1.extend(num_2)

num = num_1[:]
print(num)

输出
['a', 'b', 'c', 'teacher', 'school']

注意 两个列表谨慎用 = 连接,一旦连接,两个列表作一个看。上边

num = num_1[:]

是把新的列表A复制一个副本给列表num。

.inset()

list.insert(index, obj),该方法用于将指定对象插入裂变的指定位置。

参数说明

  • index 索引
  • obj 对象,该对象可以是一个数字或字符串,也可以是一个列表的某一个索引值。但是,OBJ如果是列表,只能是列表[2],如果把一段切片如列表[0,2],那么结果是把这一段切片带方括号插进指定位置了。

返回:无

num_1 = ['a', 'b', 'c', 'teacher', 'school']
num_1.insert(2,567)
print(num_1)
num_2 = ['i','love','U']
num_1.insert(2,num_2[0])
print(num_1)

输出
['a', 'b', 567, 'c', 'teacher', 'school']
['a', 'b', 'i', 567, 'c', 'teacher', 'school']

.pop()

.pop(index)

弹出列表中指定索引的元素并返回删除的元素,原列表将失去该元素。不指明索引,默认弹出最后一位。

num = ['a', 'b', 'c', 'teacher', 'school']
poped_num = num.pop()
print(num)
print(poped_num)

输出
['a', 'b', 'c', 'teacher']
school

.remove()

list.remove(obj),移除列表中符合某个值得第一个匹配项

返回:无。没有返回值就不存在赋值。

.sort()

list.sort(cmp=None, key=None, reverse=False),默认升序

参数

cmp

key

reverse:翻转,reverse = True 降序, reverse = False升序(默认)

list = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
# 指定第二个元素排序
list.sort(key=takeSecond)
print(list)

输出
[(4, 1), (2, 2), (1, 3), (3, 4)]
list = ['a','bb','ccc']
list.sort(key = len)
print(list)

输出
['a', 'bb', 'ccc']
list = ['a','bb','ccc']
list.sort(key = len, reverse=True)
print(list)

输出
['ccc', 'bb', 'a']

2021年3月17日16:18:40

posted @ 2021-03-17 16:20  兰花兰  阅读(652)  评论(0)    收藏  举报