列表切片语法python如果列表中只有一个元素

时间:2019-07-14 20:39:50

标签: python pandas list slice

在以下数据框中,我要选择除最后一个元素之外的每个元素:

  df3=pd.DataFrame({'text':[[['   Macquarie Research '],
 ['   Susquehanna Financial Group', ' LLLP', ' Research Division ']],[['   Goldman Sachs Group Inc.', ' Research Division '],
 ['   Citigroup Inc', ' Research Division ']]]})
df3.head()

做我打电话的选择

df3.text=[[a[:-1]for a in i]for i in df3.text]

据我了解,这应该选择除最后一个元素之外的每个元素。我不明白的是,如果列表中只有一个元素(如Macquarie Research),它将返回一个空列表 例如df3.text[0]的输出为[[], [' Susquehanna Financial Group', ' LLLP']]

如果只有一个元素,我该如何执行此操作,但要保留列表? 我犯了一些明显的错误吗?

1 个答案:

答案 0 :(得分:2)

您可以使用

 [[a[:-1] if len(a) > 1 else a for a in i] for i in df3.text]