def convert_to_list(VertexList):
VerticesList = []
items = VertexList.split(';')
for item in items:
i = item.split(',')
SubList = []
for item in i:
SubList.append(item)
VerticesList.append(SubList)
return VerticesList
此代码将此格式的字符串转换为二维列表。然而,我相信它是可以优化的
Input -> '1,2,4,5,6,7;2,3,4,5,6,7,8;1,2,4,5,6,8'
Output -> [['1', '2', '4', '5', '6', '7'], ['2', '3', '4', '5', '6', '7', '8'], ['1', '2', '4', '5', '6', '8']]
这不是一个解决方案,而只是上述代码在实际性能方面的最佳性比较:
输出:
运用理解力
导致
这是更小、更容易阅读的代码,这是我希望您寻找的优化的一部分。它不会减少循环次数,但它执行的赋值更少,使用的临时变量更少,函数调用更少(即
append()
)。也许这些调用中的一些是在理解中的幕后进行的,但是您应该利用Python对其理解所做的任何优化,即调用什么函数更新
查看this answer了解OP的性能分析和这个答案
更新2
要将所有字符串转换为int,可以使用
map
或其他理解或
相关问题 更多 >
编程相关推荐