python实现字符串完美拆分split()的方法

yipeiwu_com6年前Python基础

函数:split()

例子

我们想要将以下字符串rule进行拆分。字符串表示的是一个规则,由“…”得到“…”。我们需要将规则中的条件属性与取值分别提取出来,存放在条件属性列表cf_list与值列表cv_list中,规则的结论的属性与取值也提取出来,分别存放结果属性列表rf_list与值列表rc_list。

rule = '{age=Middle-aged,sex=Male,education=Bachelors}=>{native-country=United-States}'

代码

rule = '{age=Middle-aged,sex=Male,education=Bachelors}=>{native-country=United-States}'
c_s, r_s = s.split("=>")
c_list = c_s.split("{")[1].split("}")[0].split(",")
r = r_s.split("{")[1].split("}")[0]

cf_list = []
cv_list = []
for c in c_list:
 cf, cv = c.split("=")
 cf_list.append(cf)
 cv_list.append(cv)
rf, rv = r.split("=")

print(cf_list, cv_list, rf, rv)

输出结果:

([‘age', ‘sex', ‘education'], [‘Middle-aged', ‘Male', ‘Bachelors'], ‘native-country', ‘United-States')

部分代码说明:

1、

c_s, r_s = s.split("=>")

‘=>'为分隔符,将字符串rule分成两部分:{age=Middle-aged,sex=Male,education=Bachelors}{native-country=United-States}

2、

c_list = c_s.split("{")[1].split("}")[0].split(",")

该行代码将字符串{age=Middle-aged,sex=Male,education=Bachelors}中的{}滤掉后,将每个条件分开并存储在列表中。具体地,c_s.split("{"){将字符串{age=Middle-aged,sex=Male,education=Bachelors}拆分成包含两个元素的列表['', ‘age=Middle-aged,sex=Male,education=Bachelors}'],第一个元素为空字符串,不包含任何信息,故只取拆分结果的第二个元素c_s.split("{")[1]。同理,c_s.split("{")[1].split("}")[0]是在之前拆分的基础上以}对字符串拆分,并滤掉空字符串。

以上这篇python实现字符串完美拆分split()的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

PyTorch实现AlexNet示例

PyTorch实现AlexNet示例

PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks import torch import torch.nn...

在Mac上删除自己安装的Python方法

推荐使用 Homebrew 来安装第三方工具。自己安装的python散落在电脑各处,删除起来比较麻烦。今天在此记录一下删除的过程(本人以Python3.6为例)。 删除Python 3....

python实现的防DDoS脚本

python实现的防DDoS脚本

这篇博可以说连开场白都可以省掉了,之所以被DDoS,并不是因为惹了疯狗被追着咬,而是因为VC悲剧之后流量全到simplecd来了。 不仅如此,一些笨蛋们在抓站,一些笨蛋们在用迅雷下载,1...

Python矩阵常见运算操作实例总结

本文实例讲述了Python矩阵常见运算操作。分享给大家供大家参考,具体如下: python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。 一.n...

详解python配置虚拟环境

详解python配置虚拟环境

python中通过虚拟化出来一个空间,与主环境完全隔离,避免项目中对于环境要求,造成的插件版本混乱(python特别吃环境) mac 的配置 前文已经说过python3的安装,我们基本在...