Jas*_*ald 1 python list pyspark
我有一个包含结构学生数据的列表 - [('100', 'class 1'), ('110', 'class 2'), ('1030', 'class 2'),.....]。我使用此命令得到的结构:
student_class = student.map(lambda x:x).zip(class)
Run Code Online (Sandbox Code Playgroud)
现在我想将学生分数添加到上述列表列表的每个元素中,以便输出变为:
[('100', 'class 1',score1), ('110', 'class 2',score2), ('1030', 'class 2',score3),.....]
学生分数显示在名为 的列表中score。如何将分数添加到上面的student_class列表中以使其student_classScore列出?
由于您有liststuple并且tuples 是不可变的,因此您需要通过将现有元组与单元素元组(由 创建(score,))集中来创建一个新元组,然后将新创建的元组附加到新列表。
l = [('100', 'class 1'), ('110', 'class 2'), ('1030', 'class 2')]
scores = [1, 2, 3]
new_list = []
for tup, score in zip(l, scores):
new_list.append(tup + (score,))
print new_list
>> [('100', 'class 1', 1), ('110', 'class 2', 2), ('1030', 'class 2', 3)]
Run Code Online (Sandbox Code Playgroud)
另一种但不知何故不太Pythonic的方式,但概念相同:
for index, tup in enumerate(l):
l[index] = tup + (scores[index],)
print l
>> [('100', 'class 1', 1), ('110', 'class 2', 2), ('1030', 'class 2', 3)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22354 次 |
| 最近记录: |