首页 > 编程知识 正文

Python正则匹配,python字符串去重代码

时间:2023-05-04 07:33:29 阅读:25344 作者:2075

1.linux通配符

*:表示所有字符(0到多个);

?表示文字;

;连续不同命令之间的分隔符;

#:配置文件注释;

|:管路;

~:当前用户的主目录;

-:上次传的球

$:变量前面必须加上的符号;

/:通路分离器;

或者1:重定向涵盖原始数据;

:附加重定向;

:

:

' :单引号,无命令替换功能,输出时可见

' :双引号,具有变量替换功能,分析变量后输出。 不加引号相当于双引号;

` :反引号,两个``中间是指令,先执行,等效于$ () );

{}:命令块的组合或内容序列,echo stu{1.5}; cp a.txt {, bak};

!逻辑运算中的非(not );

:and且前一个命令执行成功的情况下,执行后一个命令;

||:or或上一个命令执行失败时,执行下一个命令;

.当前目录

.上级目录;

2 .正则表达式:为处理大量字符串定义的一组规则和方法

a .基础正则第一波:

匹配以#m开头的文字是贪婪模式,所以匹配整行

grep '^m' oldboy.txt

与以#m结束字符一致

grep ' m $ '

#与空行匹配,显示行号

grep -n '^$' oldboy.txt

#排除空行

grep -vn '^$' oldboy.txt

#仅输出一致的m个字符

grep -no 'm' oldboy.txt

.只能表示任意一个字符;

*重复*:前的一个或多个字符。 例如,my*,0个y与m个字符的字符串匹配; 一个y,my; 多个y、myyy;

:转义,使具有特殊意义的字符只表示字符本身;

. *:匹配任意长度的任意字符。

b .基础正则第二波:

grep -no [abc] oldboy.txt与集合中的任何字符匹配

grep -no [^abc] oldboy.txt与集合中的字符不匹配

a{n,m}前一个字符,重复n次至m次

a{n,}至少重复n次

重复a{n}次

a{,m}最多重复m次

# -w参数按单词进行搜索,仅与该单词所在的行匹配

grep -w 'oldboy' oldboy.txt

# grep -E不需要添加转义字符。 egrep、sed -r也是同样的理由。 支持扩展正则

# -i和-v是常规参数,-o (用于计数语句中出现的次数)。

c .通配符与正则表达式的比较:

通配符经常用于文件中。 例如,正则表达式(诸如find、ls和cp )经常用于文本过滤,例如grep、awk和sed

*表示通配符与任意0个以上字符一致; 正则表达式中重复前的一个或多个字符,不能独立使用。

3.python去重的几种方法:

lst1=[ 2,1,3,4,1 ]

LST2=list(set ) lst1) )

是打印(lst2)

[ 1,2,3,4 ]

二.常规方法

lst1=[ 2,1,3,4,1 ]

temp=[]

for item in lst1:

if not item in temp:

temp.append(item ) )。

是打印(temp )

[ 2,1,3,4 ]

三、名单推导

lst1=[ 2,1,3,4,1 ]

temp=[]

[temp.append(I ) for i in lst1 if not i in temp]

[None,None,None,None]

是打印(temp )

[ 2,1,3,4 ]

data=[ 2,1,3,4,1 ]

[ itemforitemindataifdata.count (item )==1]

[ 2,3,4 ]

四. sort、sorted

lst1=[ 2,1,3,4,1 ]

LST2.sort(key=lst1.index ) )。

LST2=sorted(set(lst1),key=lst1.index ) ) ) ) ) ) ) )。

我个人认为第一种和第三种方法很容易理解

sort和sorted的区别:

sort是应用于list的方法,sorted可以对所有可重复对象执行排序操作。 list的sort方法对已经存在的列表执行操作,没有返回值。 另一方面,内置函数sorted方法返回新的列表,而不是原始的基础。

:通过指定列表中的元素进行排序

random=[ (2,2 ),3,4 ),4,1 ),1,3 ] ]

() ) ) )。

是打印(随机)

[ (4,1 ),2,2 ),1,3 ),3,4 ] ]

sorted的使用方法:

students=[('john ',' a ',15],[ '可爱的刺猬',' b ',12],dave ',' b ',10]]

按年龄降序排序

(sorted(students,key=lambda s: s[2],reverse=True ) ) ) ) ) ) ) ) )。

[(John )、(a )、(15 )、)、可爱的刺猬)、(b )、(12 )、()、dave )、(b )、(10 ) ]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。