想想我正在调用它的副作用的函数,而不是返回值(比如打印到屏幕,更新GUI,打印到文件等).
def fun_with_side_effects(x):
...side effects...
return y
Run Code Online (Sandbox Code Playgroud)
现在,是Pythonic使用列表推导来调用这个函数:
[fun_with_side_effects(x) for x in y if (...conditions...)]
Run Code Online (Sandbox Code Playgroud)
请注意,我不会将列表保存在任何位置
或者我应该像这样调用这个函数:
for x in y:
if (...conditions...):
fun_with_side_effects(x)
Run Code Online (Sandbox Code Playgroud)
哪个更好?为什么?
假设我有一个字符串,例如
'I hate *some* kinds of duplicate. This string has a duplicate phrase, duplicate phrase.'
Run Code Online (Sandbox Code Playgroud)
我想删除第二次出现的 ,duplicate phrase而不删除其组成部分的其他出现,例如duplicate.
此外,我需要删除所有 潜在的重复短语,而不仅仅是我事先知道的某些特定短语的重复项。
我发现了几篇关于类似问题的帖子,但没有一个能帮助我解决我的特定问题:
我曾希望根据re.sub(r'\b(.+)(\s+\1\b)+', r'\1', s)我的目的调整最后一个链接 ( ) 中的方法,但无法弄清楚如何做到这一点。
如何从 Python 中的字符串中删除两个或多个单词的所有任意重复短语?
我有两列在数据框中每个单元格有很多重复项目.与此类似的东西:
Index x y
1 1 ec, us, us, gbr, lst
2 5 ec, us, us, us, us, ec, ec, ec, ec
3 8 ec, us, us, gbr, lst, lst, lst, lst, gbr
4 5 ec, ec, ec, us, us, ir, us, ec, ir, ec, ec
5 7 chn, chn, chn, ec, ec, us, us, gbr, lst
Run Code Online (Sandbox Code Playgroud)
我需要消除所有重复的项目,得到如下结果数据帧:
Index x y
1 1 ec, us, gbr, lst
2 5 ec, us
3 8 ec, us, gbr,lst
4 5 ec, us, …Run Code Online (Sandbox Code Playgroud) 我有一个要连接某些列的数据框。
我的问题是这些列中的文本可能包含也可能不包含重复信息。我想删除重复项,以便仅保留相关信息。
例如,如果我有一个数据框,例如:
pd.read_csv("animal.csv")
animal1 animal2 label
1 cat dog dolphin 19
2 dog cat cat 72
3 pilchard 26 koala 26
4 newt bat 81 bat 81
Run Code Online (Sandbox Code Playgroud)
我想合并列,但仅保留每个字符串中的唯一信息。
您可以在第2行中看到,在“ Animal1”和“ Animal2”列中都包含“ cat”。在第3行中,数字26在“ Animal1”和“ Label”列中。而在第4行中,“ Animal2”和“ Label”列中的信息已按顺序包含在“ Animal1”中。
我通过执行以下操作合并列
animals["detail"] = animals["animal1"].map(str) + animals["animal2"].map(str) + animals["label"].map(str)
animal1 animal2 label detail
1 cat dog dolphin 19 cat dog dolphin 19
2 dog cat cat 72 dog cat cat 72
3 pilchard 26 koala 26 pilchard 26 koala 26
4 newt bat …Run Code Online (Sandbox Code Playgroud) 说我有绳子,
string1 = 'Hello how are you'
string2 = 'are you doing now?'
Run Code Online (Sandbox Code Playgroud)
结果应该是这样的
Hello how are you doing now?
Run Code Online (Sandbox Code Playgroud)
我正在考虑使用re和字符串搜索的不同方式。(最长公共子串问题)
但是有没有什么简单的方法(或库)可以在 python 中做到这一点?
为了清楚起见,我将再添加一组测试字符串!
string1 = 'This is a nice ACADEMY'
string2 = 'DEMY you know!'
Run Code Online (Sandbox Code Playgroud)
结果是!,
'This is a nice ACADEMY you know!'
Run Code Online (Sandbox Code Playgroud) 我将如何删除字符串中相邻的重复单词。例如“嘿那里”->“嘿那里”
python ×6
dataframe ×2
pandas ×2
string ×2
duplicates ×1
python-2.7 ×1
python-3.5 ×1
regex ×1
replace ×1
unique ×1