小编sre*_*sre的帖子

如何用|进行正则表达式?

import re
s6 = '''Male : abc
   Male : def'''
re.findall(r'(.*):|:(.*)', s6)
Run Code Online (Sandbox Code Playgroud)

我的输出:

[('Male ', ''), ('            Male ', '')]
Run Code Online (Sandbox Code Playgroud)

我的预期输出:

[('Male','abc'),('Male','def')]
Run Code Online (Sandbox Code Playgroud)

当我做re.findall(r'(.*):', s6)我正在['Male ', ' Male ']re.findall(r':(.*)', s6)我得到[' abc', ' def']。使用|符号时,输出错误。

免责声明:请不要这样做 re.split

我也已经完成了\w+工作,但是我想要一个以下格式的表达式。我已经完成了re.findall(r'\s*(\w+)\s*:|:\s*(\w+)', s6),这不能单独工作。随着\s*(\w+)\s*::\s*(\w+)', s6它正在工作。

我想知道为什么|它不起作用。

python regex

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

使用熊猫对浮子列进行分组

我需要按体重分组

Name      weight(kg)
Person1    4.44
Person2   37.3
Person3   36.38
Person4   39.52
Person5   81.57
Person6   43.55
Person7   91.11
Person8    5
Person9   36.48
Person10  38.25
Run Code Online (Sandbox Code Playgroud)

我的代码如下。需要根据条件分组。我的代码如下。但是我所有行都得到0到20。

if 0 <= data_file['weight(kg)'].all() < 20:
    data_file['target'] = "0 to 20%"
if 20 < data_file['weight(kg)'].all() < 40:
    data_file['target'] = "20 to 40%"
if 40 < data_file['weight(kg)'].all() < 60:
    data_file['target'] = "40 to 60%"
if 60 < data_file['weight(kg)'].all() < 80:
    data_file['target'] = "60 to 80%"
if 80 < data_file['weight(kg)'].all() <= 100:
    data_file['target'] = "80 to 100%"
Run Code Online (Sandbox Code Playgroud)

预期中 …

python pandas

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

为什么带有for循环和pass的list [index]替换list中的值

尝试下面的代码

a = [1,1,2,3,5,8]
for a[1] in a:
    pass
print(a)
Run Code Online (Sandbox Code Playgroud)

得到如下输出

[1, 8, 2, 3, 5, 8]
Run Code Online (Sandbox Code Playgroud)

有人可以帮助您了解为什么index-1的值从1更改为8的原因。

python

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

标签 统计

python ×3

pandas ×1

regex ×1