首页 > 解决方案 > 如何对压缩列表的 N 元素进行拆分

问题描述

我有一个压缩列表,每个元组最初具有相同的长度,如下所示:

[('MATH 441', 'GREAT, LOTS OF HOMEWORK, FUNNY'),(CSCI 519, 'AWFUL, BORING')...]

我的目标是根据逗号将元组的第二个元素拆分为单个元素。从这里开始,每个元组可能有不同的长度,因此,我想检查给定的元组是否满足特定长度,如果不满足,则在元组中输入一个“NAN”元素。

我想我们必须创建一个“列表列表”,因为元组是不可变的,所以这就是我迄今为止创建的。

master = list(zip(course_codez, lst))
#to make it a list of list, not a list of tuples
master_two = [list(a) for a in zip(course_codez, lst)]
for i in master_two:
    i[1].split(", ")
        

这是思考过程,但我并不完全确定,希望能提供任何帮助。

谢谢

标签: pythonlistziplist-comprehension

解决方案


split()不(不能)就地修改元素,您需要将结果分配回列表元素。

i[1] = i[1].split(", ")

您可以直接在列表理解中执行此操作。

master_two = [(code, comment.split(", ")) for code, comment in zip(course_codez, lst)]

推荐阅读