相关疑难解决方法(0)

使用列表推导仅仅是副作用是Pythonic吗?

想想我正在调用它的副作用的函数,而不是返回值(比如打印到屏幕,更新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)

哪个更好?为什么?

python list-comprehension

97
推荐指数
4
解决办法
8534
查看次数

如何删除 Python 中的重复短语?

假设我有一个字符串,例如

'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 中的字符串中删除两个或多个单词的所有任意重复短语?

python regex replace python-2.7

7
推荐指数
1
解决办法
1853
查看次数

从数据帧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)

python dataframe pandas

3
推荐指数
1
解决办法
1401
查看次数

熊猫:合并没有重复的栏/合并后找到唯一的单词

我有一个要连接某些列的数据框。

我的问题是这些列中的文本可能包含也可能不包含重复信息。我想删除重复项,以便仅保留相关信息。

例如,如果我有一个数据框,例如:

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)

python unique dataframe pandas python-3.5

1
推荐指数
1
解决办法
2411
查看次数

用一个公共子字符串连接两个字符串?

说我有绳子,

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 string

1
推荐指数
1
解决办法
2389
查看次数

使用 Python 删除字符串中相邻的重复单词?

我将如何删除字符串中相邻的重复单词。例如“嘿那里”->“嘿那里”

python string duplicates

-1
推荐指数
1
解决办法
69
查看次数