Python中动态地将列表分解为变量

发布于 2024-08-09 11:08:06 字数 470 浏览 11 评论 0原文

我在运行时创建了二维列表(任一维度中的条目数量未知)。例如:

long_list = [ [2, 3, 6], [3, 7, 9] ]

我想通过从 long_list 内的每个列表中获取第 i 个条目来迭代它:

for entry in long_list.iter():
    #entry will be [2, 3] then [3, 7] then [6, 9]

我知道 Python 的 itertools.izip_longest() 方法可以执行此操作。只不过它为每个列表接受不同的变量。

itertools.izip_longest(var1, var2, var3 ...)

那么,如何将 long_list 拆分为每个列表的不同变量,然后在运行时使用所有这些变量调用 izip_longest() ?

I have 2 dimensional list created at runtime (the number of entries in either dimension is unknown). For example:

long_list = [ [2, 3, 6], [3, 7, 9] ]

I want to iterate through it by getting the ith entry from each list inside the long_list:

for entry in long_list.iter():
    #entry will be [2, 3] then [3, 7] then [6, 9]

I know that Python's itertools.izip_longest() method does this. Except it takes in a different variable for each list.

itertools.izip_longest(var1, var2, var3 ...)

So, how do I split my long_list into a different variable for each list and then call izip_longest() with all those variable at runtime?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

断爱 2024-08-16 11:08:06
>>> long_list = [ [2, 3, 6], [3, 7, 9] ]
>>> import itertools
>>> for i in itertools.izip_longest(*long_list):      # called zip_longest in py3k
    print(i)


(2, 3)
(3, 7)
(6, 9)

基本上,这里需要使用解包功能。对于 zip 来说,它的工作原理类似。

>>> long_list = [ [2, 3, 6], [3, 7, 9] ]
>>> import itertools
>>> for i in itertools.izip_longest(*long_list):      # called zip_longest in py3k
    print(i)


(2, 3)
(3, 7)
(6, 9)

Basically, you need to use unpacking feature here. It would work similarly for zip.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文