如何在列表列表中提取元素并在python中创建另一个元素。所以,我想从中得到:
all_list = [['1 2 3 4','2 3 4 5'],['2 4 4 5', '3 4 5 5' ]]
像这样的新列表:
list_of_lists = [[('3','4'),('4','5')], [('4','5'),('5','5')]]
以下是我所做的,但不起作用。
for i in xrange(len(all_lists)):
newlist=[]
for l in all_lists[i]:
mylist = l.split()
score1 = float(mylist[2])
score2 = mylist[3]
temp_list = (score1, score2)
newlist.append(temp_list)
list_of_lists.append(newlist)
请帮忙。多谢提前。
添加到eruciforms answer。
首先,您不需要为所有列表生成索引。你可以直接迭代它:
第二点,通过拼接列表,可以使字符串拆分更加简洁:
使用map或list comprehension进一步减少它;您可以使所有项成为一个动态浮动项:
并使用内置的
tuple
创建结果列表:最后,您可以将其全部折叠为一个大列表理解为sdolan shows。
当然,您也可以手动索引到结果中并创建一个元组,但通常情况下,它会更加冗长,而且很难更改。
对变量名有了一些自由,在您的示例中,值将
tmp_list
。如果您填写
mylist
的值,它几乎可以正常工作——现在它还没有定义。提示:使用字符串上的
split
函数将它们分解为它们的组件,您可以用结果填充mylist。提示2:确保newlist在某个时刻被设置回空列表。
您可以使用嵌套列表理解。(这假设您希望每个字符串中的最后两个“分数”:
相关问题 更多 >
编程相关推荐