我有以下代码:
listOfStrings = ['i_am_exercising', 'python_functional', 'lists_comprehension']
[ "".join([elem.title() for elem in splited]) for splited in [el.split("_")for el in listOfStrings]]
结果是:
['IAmExercising', 'PythonFunctional', 'ListsComprehension']
阅读文档,我得到了等效的扩展版本,它将第一个表达式放在要附加的变量中,将第二个表达式放在要使用 for 语句迭代的列表中:
returned = []
for splited in [el.split("_")for el in listOfStrings]:
returned.append("".join([elem.title() for elem in splited]))
但是如果我想编写相同的代码而没有任何列表理解,那么最好的方法是什么?我尝试使用以下代码,效果很好:
returned = []
temp = []
for el in listOfStrings:
temp = []
for splited in el.split("_"):
temp.append(splited.title())
returned.append("".join(temp))
但我没有完全理解如何做到这一点(将列表理解转换为等效的完整扩展形式)