TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

 找回密码
 新人加入
查看: 1937|回复: 1
打印 上一主题 下一主题

[其他] 列表推导式详解:[i for i in L] [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2022-3-26 15:07:51 |只看该作者 |倒序浏览
本帖最后由 Seekladoom 于 2022-3-26 15:08 编辑

来源链接:
https://blog.csdn.net/swansonge/article/details/107600063

python的一般for循环:for i in x:#x是列表对象
而列表推导式是:[i for i in x]
其意为:用for i in x的所有遍历结果i来组成一个新的列表

1.列表推导式详解:
[ i * i for i in x]:其中[ ]代表创建一个新的列表来盛放所有遍历结果
[ i * i for i in x]:其中 i * i表示:产生一个遍历结果i * i,并将这个遍历结果放在空的结果列表里
这个推导式的所有含义就是:每次for循环,产生一个遍历结果i * i,并将所有遍历结果放在新列表里

比如:
  1. x=[1,2,3,4,5]
  2. print([i*i for i in x])
  3. 结果如下:
  4. [1, 4, 9, 16, 25]

  5. 如果推导式不加[]:
  6. print(i*i for i in x)
  7. 结果为:
  8. <generator object <genexpr> at 0x0000018686FCB740>
  9. 意为:生成器对象 在内存的位置 0x...
复制代码


2.列表推导式的使用
1.可以快速将一个列表整数化,因为input输入的值皆为字符串,所以如果输入整数列表,在使用之前还需要再次整数化,这就可以直接使用列表推导式:
x=[ int(i) for i in x ] :直接用由 int(i)组成的新列表初始化原列表x
2.列表推导式里面也可以嵌套循环,不过难以理解,这就不放出来了

Rank: 4

沙发
发表于 2022-3-26 15:11:49 |只看该作者
本帖最后由 Seekladoom 于 2022-3-26 15:14 编辑

因此PyonFX中的ass_core.py中的下面这段代码的含义就是:
  1. style = [el for el in style[1].split(",")]
复制代码

遍历V4+ Style分区下的第1个样式参数
遍历对象.png
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-4-29 16:45

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH