python 函数调用列表_python – 如何在列表推导中分配函数调用

本文探讨了使用列表理解进行数据处理的方法,特别是针对嵌套列表的理解和操作,并提供了具体的代码示例来解释如何正确地使用列表理解。

虽然我同意@blacksite的说法列表理解并不是最容易理解的方式,但如果这是你的目标,那么这里是如何做到的:

cluster.append(

[x[0] for x in [[item[1] for item in Interest if term[0] == item[0]]

for cluster in ClusterFile for term in cluster[2]]

if len(x)]

)

cluster

# [['a'],'qx19']]

数据:

cluster = [['a'],6]]

ClusterFile = [cluster]

Interest = [['w','qx19']]

几点说明:

>嵌套列表推导与嵌套for循环的顺序相同.所以如果你有:

for a in b:

for x in a:

f(x)

那么这看起来像:

[f(x) for a in b for x in a]

这看起来有点倒退,因为a中的x远离声明使用x的前面.只需将其视为嵌套for循环的顺序即可. (你在原始代码中倒退了.)

>你想要集群[2],而不是集群[3].

>在群集[2]中选择单个元素时,例如[‘w’],[‘x’]等,您正在比较列表元素([‘w’]),由term表示该列表中包含的字符串(‘w’),由item [0表示].这不匹配,你需要使用term [0].

>附加的最终列表(x [0] s列表)会删除一些在内部列表理解中创建的空列表.这不是很漂亮,可能有更好的方法.但同样,在我看来,如果没有列表理解,这整个方法会更具可读性.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值