用列表推导的方式实现多个列表合并!!!

问题缘由

在使用@装饰器的时候,我遇到了一个函数传参的问题,我想把*args里面的list进行合并,而且我想通过列表推导来解决这个问题。查询了一下网上,没有人用这种方法解决。只知道可以通过c=a+b或者extend的方式。因为受到了列表推导双for的误导,我一直考虑通过两个for循环的列表嵌套来解决这个问题。后来发现,列表推导完全可以实现对外部变量的修改。

下面是一个举例

a = [1,2,3,3,5,6]
b = [2,3,34,5,6]
c = [3,"m",'jk']
m = [a,b,c]#这个m其实就相当于*args,这样就可以把所有传入的参数进行合并操作。
h =[]#这里用于存储list
k = [h.extend(i) for i in m ]#完成列表合并的操作
l = "".join([str(i) for i in h])#把列表转换成字符串,为什么要再用一次列表推导呢?
# 原因是如果是整数的话,是会报错的。原因见上一篇。
print(l)
print(h)

最大的收获就是,列表推导可以对外部的变量进行操作,

尽管打印k的值我们会发现k是三个none,但是这不影响我们获取列表合并后的结果。

如果你有更多的关于列表推导的心得,经验,望不吝赐教

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值