我正在进行CodeCademy循环字符串操作的练习,我尝试使用列表理解来执行任务,但无法正确管理: 正确的执行方法是有一个嵌套的列表,每个列表由剥离的字符串组成。以下是我如何做到正确的:
transactions_clean = []
for transaction in daily_transactions_split:
new_trans = []
for i in range(len(transaction)):
new_trans.append(transaction[i].strip('\n').strip())
transactions_clean.append(new_trans)
结果是:
^{pr2}$这正是我要找的。在
这个方法使用一个嵌套循环,我对使用列表理解来执行它很感兴趣。我设法想出了:
transactions_clean = [st.strip('\n').strip() for transaction in daily_transactions_split for st in transaction]
它设法正确地剥离字符串,但创建了一个非嵌套的字符串列表。 我的目标能用理解来实现吗?在
谢谢
你没有得到一个嵌套的列表,因为你的列表理解中只有一对
[]
(你的表达式本身不会产生列表)。只需这样做(请注意,我必须交换for
子句的顺序,并插入内部[]):模式
[(x, y) for x in xs for y in ys]
相当于itertools.product(xs, ys)
。在你所写的理解并不需要两个集合的乘积。在
注:新集合的长度为5*5,即每个集合中项目数的乘积。在
输出:
^{pr2}$输出:
请注意,}执行相同的操作
.strip('\n').strip()
与{相关问题 更多 >
编程相关推荐