2017-08-27 50 views
-2
L1=['241212','21441','2431212'.....] 

我想从L1创建L2。 L2仅包含子字符串'1212'的那些字符串。如何在列表中保留模式对象?

这是我的代码,我不知道它有什么问题吗?

x=["111241","2131231","111123432"] 
[a if "1111" in a for a in x] 
+2

中庸之道逆转表达式'[一为在X中,如果“1111”一]' – PRMoureu

+0

我如何应用此数据帧?我只是做了这个'df ['S2'] = df ['S1']。如果在a中使用“:1111:”,则应用(lambda x:[a]),但它不起作用。 – Garvey

+0

问题2已经通过'df ['S2'] = df ['S1']解决了'apply(lambda x:[a for a x if if::1111:“in a])' – Garvey

回答

3

docs

你应该写列表理解是这样的:

[a for a in x if "1111" in a] 
+0

Thx!我可以再问一个问题吗?我该如何将这个应用到df?我只是做了这个'df ['S2'] = df ['S1']。如果在a中使用“:1111:”,则应用(lambda x:[a]),但它不起作用。 – Garvey

+0

OH!我已经通过'df ['S2'] = df ['S1']解决了。apply(lambda x:[a for a x if if::1111:“in a])' – Garvey