波大大12138 发表于 2022-12-28 16:00:18

python中的for循环

请问有没有遇到这样的语句
unique_tags = set(tag for doc in train_tags for tag in doc)   #
tag2id = {tag: id for id, tag in enumerate(unique_tags)}
感觉这两个已经把for循环用到了极致,看不懂怎么执行的?

isdkz 发表于 2022-12-28 16:12:32

这个不能说是for循环,这是推导式

unique_tags = set(tag for doc in train_tags for tag in doc) 使用了生成器推导式,

unique_tags = {tag for doc in train_tags for tag in doc}还是用这个比较好,直接用集合推导式

ag2id = {tag: id for id, tag in enumerate(unique_tags)} 使用了字典推导式,相当于

ag2id = {}
for id, tag in enumerate(unique_tags):
    ag2id = id
      

波大大12138 发表于 2022-12-28 16:28:04

isdkz 发表于 2022-12-28 16:12
这个不能说是for循环,这是推导式

unique_tags = set(tag for doc in train_tags for tag in doc) 使用 ...

就是这个两个for循环是怎么回事?程序怎么运行的?

isdkz 发表于 2022-12-28 16:30:48

波大大12138 发表于 2022-12-28 16:28
就是这个两个for循环是怎么回事?程序怎么运行的?

你去搜一下 python 的推导式就知道了
页: [1]
查看完整版本: python中的for循环