此嵌套循环的列表理解语法正确吗?

时间:2019-04-04 15:59:42

标签: python list loops list-comprehension

我有一个数据框列df ['Traversal'],其中每一行可能包含类似“巴黎->法国->伦敦”的字符串。

正确的输出适用于以下代码:

emptylist = []
for x in df['Traversal']:
    for y in x.split('->'):
        emptylist.append(y)

我尝试了以下形式的变化:

emptylist = [y.split('->') for y in df['Traversal']
emptylist = [y for y in x.split('->') for x in df['Traversal']]

我得到的最接近的是列表列表(拆分)。我想要的最终结果是仅列出所有字符串,而不是按“拆分”列表分组。

2 个答案:

答案 0 :(得分:0)

[e for x in df["Traversal"] for e in x.split('->')]

另请参阅:Double Iteration in List Comprehension

答案 1 :(得分:0)

为什么不呢?

emptylist = [y.split('->') for y in df['Traversal']
cities = []
_ = [cities.extend(t) for t in emptylist]

如果您必须使用list-comprehensions;)