【发布时间】:2021-09-02 17:39:27
【问题描述】:
例如,假设我有 3 个不同的列表:
lst1 = ['a', 'b', 'c']
lst2 = ['d', 'e', 'f', 'g']
lst3 = ['h', 'i']
并且我想对每个列表进行相同的更改,这样我仍然可以单独调用每个列表,但需要进行新的更改。因此,假设我想为上述列表中的每个元素添加一个“z”。例如,我希望能够致电lst3 并获得lst3 = ['hz', 'iz']。
我尝试将每个列表分组为列表列表:lists = [lst1, lst2, lst3]
然后使用[[(x + 'z') for x in z] for z in lsts] 应用我的更改。但这只是返回一个列表列表。
我也尝试过使用 for 循环:
for each in lsts:
each = [(x + 'z') for x in each]
但是,例如,当我致电 lst3 时,更改似乎并未就地完成。
基本上我希望得到以下输出,以便每个列表仍然与应用的更改分开。对我如何实现这一点有任何见解吗?
lst1 = ['az', 'bz', 'cz']
lst2 = ['dz', 'ez', 'fz', 'gz']
lst3 = ['hz', 'iz']
【问题讨论】:
标签: python list list-comprehension