• 招生咨询热线:4008-569-579 
  • 手机版
    用手机扫描二维码直达商品手机版
招生咨询热线
4008-569-579
机构主页 > 培训资料 > Python中的字符处理技巧你都了解吗
机构主页 > 培训资料>Python中的字符处理技巧你都了解吗

Python中的字符处理技巧你都了解吗

来源:广州达内教育        时间:2023-05-31        热度:154℃        返回列表

Python是一门非常流行的开发语言了,python现在会这么的收欢迎不止是因为人工智能的带动,有很大的一部分是因为它是比较简单易学的,但是在使用python的时候有很多的字符的处理技巧你知道吗?这些处理技巧可以让你的工作更加的便捷。

Python中的字符处理技巧你都了解吗

一. 空格剥离

空格剥离是字符串处理的一种基本操作,可以使用lstrip()方法(左)剥离前导空格,使用rstrip()(右)方法对尾随空格进行剥离,以及使用strip()剥离前导和尾随空格。

s =  This is a sentence with whitespace. nprint(Strip leading

whitespace: {}.format(s.lstrip()))print(Strip trailing whitespace:

{}.format(s.rstrip()))print(Strip all whitespace: {}.format(s.strip()))

Strip leading whitespace: This is a sentence with whitespace.Strip trailing

whitespace: This is a sentence with whitespace.Strip all whitespace: This is a

sentence with whitespace.

对剥离除空格以外的字符感兴趣吗?同样的方法也很有用,可以通过传递想要剥离的字符来剥离字符。

s = This is a sentence with unwanted characters.AAAAAAAAprint(Strip

unwanted characters: {}.format(s.rstrip(A)))

Strip unwanted characters: This is a sentence with unwanted characters.

必要时不要忘记检查字符串 format()文档。

format()文档:https://docs.python.org/3/library/stdtypes.html#str.format

二. 字符串拆分

利用Python中的 split() 方法可以轻易将字符串拆分成较小的子字符串列表。

split() 方法:https://docs.python.org/3/library/stdtypes.html#str.split

s = KDnuggets is a fantastic resourceprint(s.split())

[KDnuggets, is, a, fantastic, resource]

默认情况下,split()根据空格进行拆分,但同样也可以将其他字符序列传递给split()进行拆分。

s = these,words,are,separated,by,commaprint(, separated split ->

{}.format(s.split(,)))s = abacbdebfgbhhgbabddbaprint(b separated split

-> {}.format(s.split(b)))

, separated split -> [these, words, are, separated, by,

comma]b separated split -> [a, ac, de, fg, hhg, a, dd,

a]

3. 将列表元素合成字符串

需要实现上述操作的一个逆向操作?没问题,利用Python中的join()方法便可将列表中的元素合成一个字符串。

join()方法:https://docs.python.org/3/library/stdtypes.html#str.join

s = [KDnuggets, is, a, fantastic, resource]print( .join(s))

KDnuggets is a fantastic resource

事实果真如此!如果想将列表元素用空格以外的东西连接起来?这可能有点陌生,但也很容易实现。

s = [Eleven, Mike, Dustin, Lucas, Will]print( and .join(s))

Eleven and Mike and Dustin and Lucas and Will

4. 字符串反转

Python没有内置的字符串反转方法。但是,可以先将字符串看做是字符的列表,再利用反转列表元素的方式进行反转。

5. 大小写转换

利用upper(), lower(),和swapcase()方法可以进行大小写之间的转换。

upper()方法:https://docs.python.org/3/library/stdtypes.html#str.upperlower()方法:https://docs.python.org/3/library/stdtypes.html#str.lowerswapcase()方法:https://docs.python.org/3/library/stdtypes.html#str.swapcase

s = KDnuggetsprint(KDnuggets as uppercase:

{}.format(s.upper()))print(KDnuggets as lowercase:

{}.format(s.lower()))print(KDnuggets as swapped case:

{}.format(s.swapcase()))

KDnuggets as uppercase: KDNUGGETSKDnuggets as lowercase:

kdnuggetsKDnuggets as swapped case: kdNUGGETS

6. 检查是否有字符串成员

在Python中检查字符串成员的简单方法是使用in运算符,语法与自然语言非常类似。

s1 = perpendiculars2 = pens3 = pepprint(pen in perpendicular

-> {}.format(s2 in s1))print(pep in perpendicular ->

{}.format(s3 in s1))

pen in perpendicular -> Truepep in perpendicular -> False

如果对找到字符串中子字符串的位置更感兴趣(而不是简单地检查是否包含子字符串),则利用find()方法可能更为有效。

s = Does this string contain a substring?print(string location ->

{}.format(s.find(string)))print(spring location ->

{}.format(s.find(spring)))

string location -> 10spring location -> -1

    七、子字符串替换

找到子字符串之后,如果想替换这一子字符串,该怎么办?Python 中的replace()字符串方法将解决这一问题。

replace()字符串方法:https://docs.python.org/3/library/stdtypes.html#str.replace

s1 = The theory of data science is of the utmost importance.s2 =

practiceprint(The new sentence: {}.format(s1.replace(theory, s2)))

The new sentence: The practice of data science is of the utmost

importance.

如果同一个子字符串出现多次的话,利用计数参数这一选项,可以指定要进行连续替换的次数。

八、 组合多个列表的输出

如何以某种元素的方式将多个字符串列表组合在一起?利用zip()函数便没问题。

zip()函数:https://docs.python.org/3/library/functions.html#zip

countries = [USA, Canada, UK, Australia]cities = [Washington,

Ottawa, London, Canberra]for x, y in zip(countries, cities): print(The

capital of {} is {}..format(x, y))

The capital of USA is Washington.The capital of Canada is Ottawa.The

capital of UK is London.The capital of Australia is Canberra.

九、同字母异序词检查

想检查一对字符串中,其中一个字符串是否是另一个字符串的同字母异序词?从算法上来讲,需要做的是对每个字符串中每个字母的出现次数进行计数,再检查二者计数值是否相等,直接使用collections模块的Counter类便可实现。

collections模块的Counter类:https://docs.python.org/3/library/collections.html#collections.Counter

from collections import Counterdef is_anagram(s1, s2): return Counter(s1)

== Counter(s2)s1 = listens2 = silents3 = runners4 =

neuronprint(listen is an anagram of silent ->

{}.format(is_anagram(s1, s2)))print(runner is an anagram of neuron

-> {}.format(is_anagram(s3, s4)))

listen an anagram of silent -> Truerunner an anagram of neuron

-> False

十、回文检查

如果想检查给定的单词是否是回文,怎么办?从算法上看,需要创建一个单词的反转,然后利用 ==

运算符来检查这2个字符串(原始字符串和反向字符串)是否相等。

def is_palindrome(s): reverse = s[::-1] if (s == reverse): return True

return Falses1 = racecars2 = hippopotamusprint(racecar a palindrome

-> {}.format(is_palindrome(s1)))print(hippopotamus a palindrome ->

{}.format(is_palindrome(s2)))

racecar is a palindrome -> Truehippopotamus is a palindrome ->

False

虽然掌握这些字符串处理“技巧”之后,并不意味着你已经成为了文本分析或自然语言处理专家,但这些技巧可能会激发出深入探究自然语言处理领域的兴趣,并掌握终成为专家所必备的技能。

Python中的字符处理技巧你都了解吗?如果说想要学习python的话那么就来我们达内科技的python培训班来学习吧,我们达内科技欢迎每位想要学习的学员来我们公司进行实地考察,也可以点击我们文章下面的获取试听资格按钮来获取我们的python课程免费试听资格,在试听中可以更加清楚的了解我们达内科技。

电话咨询

电话咨询

咨询电话:
4008-569-579
回到顶部

回到顶部