python - 如何对压缩列表的 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(", ")
这是思考过程,但我并不完全确定,希望能提供任何帮助。
谢谢
解决方案
split()
不(不能)就地修改元素,您需要将结果分配回列表元素。
i[1] = i[1].split(", ")
您可以直接在列表理解中执行此操作。
master_two = [(code, comment.split(", ")) for code, comment in zip(course_codez, lst)]