2024-04-26 23:59:39 发布
网友
我试图从一个xml文件中为棋盘游戏构建一个平铺列表,该文件包含了平铺的描述。xml文件描述了每种磁贴类型,以及该类型的磁贴数量。在
到目前为止,我得到了以下代码,该代码创建了一个列表,其中正好包含每种平铺类型中的一种:
[Tile(el.id) for el in <tile descriptions>]
我想创建一个列表,列出每个图块的适当数量,例如:
是否有一个优雅的一行代码来完成这项工作,或者我需要通过为每个平铺类型创建一个列表,然后连接来完成它?在
怎么样:
[Tile(el.id) for el in <tile descriptions> for _ in range(el.n_tiles)]
您发布的代码将多次重复相同的内部列表:
[Tile(el.id) * <el.n_tiles> for el in <tile descriptions>]
相反,使用内部列表理解:
如果目标是创建单个串联列表,则可以使用嵌套for循环的列表理解:
[Tile(el.id) for el in <tile descriptions> for i in range(<el.n_tiles>)]
当您稍微高级一点时,可以使用itertools.chain.from_iterable实现相同的效果(列表扁平化)。在
希望这有帮助。游戏快乐:-)
怎么样:
您发布的代码将多次重复相同的内部列表:
相反,使用内部列表理解:
^{pr2}$如果目标是创建单个串联列表,则可以使用嵌套for循环的列表理解:
当您稍微高级一点时,可以使用itertools.chain.from_iterable实现相同的效果(列表扁平化)。在
希望这有帮助。游戏快乐:-)
相关问题 更多 >
编程相关推荐