【问题标题】:Correct syntax of list comprehension for this nested loop?这个嵌套循环的列表理解的正确语法?
【发布时间】:2019-08-26 11:20:27
【问题描述】:

我有一个数据框列 df['Traversal'],其中每一行可能包含一个类似于“Paris->France->London”的字符串。

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

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']]

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

【问题讨论】:

    标签: python list loops list-comprehension


    【解决方案1】:

    为什么不:

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

    如果你必须使用列表理解;)

    【讨论】:

      【解决方案2】:
      [e for x in df["Traversal"] for e in x.split('->')]
      

      另见:Double Iteration in List Comprehension

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-07
        相关资源
        最近更新 更多