首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中压缩未知数量的列表?

如何在Python中压缩未知数量的列表?
EN

Stack Overflow用户
提问于 2011-05-09 23:06:06
回答 2查看 8.7K关注 0票数 31

假设我有以下列表:

代码语言:javascript
复制
assignment = ['Title', 'Project1', 'Project2', 'Project3']
grades = [ ['Jim', 45, 50, 55], \
           ['Joe', 55, 50, 45], \
           ['Pat', 55, 60, 65] ]

我可以使用以下代码压缩列表:

代码语言:javascript
复制
zip(assignment, grades[0], grades[1], grades[2])

如果成绩列表包含未知数量的项目,我如何使用zip函数来压缩它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-09 23:08:52

您可以使用*将列表unpack为位置参数:

代码语言:javascript
复制
zip(assignment, *grades)
票数 56
EN

Stack Overflow用户

发布于 2021-06-20 07:22:48

除了上面的答案之外,解包允许您将函数参数作为数组传递,而不是将多个参数传递到函数中。文档中给出了以下示例:

代码语言:javascript
复制
list(range(3, 6))            # normal call with separate arguments
[3, 4, 5]
args = [3, 6]
list(range(*args))            # call with arguments unpacked from a list
[3, 4, 5]

在使用zip()的情况下,这对我来说非常方便,因为我正在整理一些逻辑,希望能够灵活地适应数据中的维度数量。这意味着首先将这些维度收集到一个数组中,然后使用unpack运算符将它们提供给zip()

代码语言:javascript
复制
myData = []
myData.append(range(1,5))
myData.append(range(3,7))
myData.append(range(10,14))

zippedTuple = zip(*myData)

print(list(zippedTuple))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5938786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档