Python基础之列表(3)

前两节说了些列表的基础操作,今天再所以下内置函数对列表的操作。

直接上干货

import random()
x = list(range(11))
random.shuffle(x)
x
#[3,5,8,0,6,9,4,1,2,7,10]

max(x)
#10

max(x, key=str)
#9

sum(x)
#55

len(x)
#11

list(zip(x, [1]*11))                      #多列表元素重新组合
#[(3,1),(5,1),(8,1),(0,1),(6,1),(9,1),(4,1),(1,1),(2,1),(7,1),(10,1)]

list(zip(range(1, 4)))                     #zip()函数也可以用于一个序列或迭代对象
#[(1,),(2,),(3,)]

list(zip(['a','b','c'],[1,2]))
#[('a',1),('b',2)]                             #如果两个列表不等长,以短的为准

list(enumerate(x))
#[(0,3),(1,5),(2,8),(3,0),(4,6),(5,9),(6,4),(7,1),(8,2),(9,7),(10,10)]


list(map(str, range(5)))
#['0','1','2','3','4']
def add5(v)
return v+5
list(map(add5, range(10)))
#[5,6,7,8,9,10,11,12,13,14]

def add(x, y):                            #定义add()函数为元素之和
return x+y
list(map(add, range(5), range(5,10)))     #range(5)和range(5,10)中的各元素相加
#[5,7,9,11,13]

[add(x, y) for x,y in zip(range(5),range(5, 10))]
#[5,7,9,11,13]

列表的向量运算

import random
x = [random.randint(1,100) for i in range(10)]
x
#[55, 59, 6, 94, 22, 39, 88, 7, 95, 72]

list(map(lambda i: i+5, x))                     #所有元素同时加 5
#[60, 64, 11, 99, 27, 44, 93, 12, 100, 77]

x = [random.randint(1,10) for i in range(10)]
x
#[1, 9, 2, 10, 1, 10, 4, 3, 9, 5]

y = [random.randint(1,10) for i in range(10)]
y
#[1, 10, 3, 7, 3, 7, 4, 2, 2, 8]

import operator
sum(map(operator.mul,x , y))                     #向量内积
#320

sum((i*j for i,j in zip(x, y)))                  #使用内置函数计算向量内积
#320

list(map(operator.add, x, y))                    #两个等长的向量对应元素相加
#[2, 19, 5, 17, 4, 17, 8, 5, 11, 13]

list(map(lambda i,j: i+j, x,y))                  #使用lambda表达式实现同样效果
#[2, 19, 5, 17, 4, 17, 8, 5, 11, 13]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值