前言
字符串作为一种重要的Python基本数据类型,在数据处理中发挥着不可或缺的作用,如果对它的方法能够灵活使用,能够达到事半功倍的效果。下面我们选取一些常用的方法,简述其应用场景。
一、最大化最小化方法
字符串的最大化方法upper()
和最小化方法lower()
可以将字符串全部转换为大写和小写。在数据处理分析过程中,如果涉及到字符串的比较和统计,尤其涉及到英文的,一般需要将字符串全部转化小写再进行比较统计,否则可能会不准。
比如根据用户的输入,决定接下来的程序是否执行,如果用户输入n则不执行,为了让程序设计的更加友好,需要考虑用户可能输入N的情况,该问题可以通过lower()
或者upper()
来解决。
>>> choice = input('是否继续执行程序,输入n或N则结束:') 是否继续执行程序,输入n或N则结束:N >>> if choice == 'n'or choice == 'N': # 常规处理方式 print('程序结束') >>> if choice.lower() == 'n': # 推荐用该方法处理 print('程序结束')
比如现在通过分词工具,已经把一段英文分词单词的列表,现在要统计“when”出现的次数,一般需要再统计之前将字符串全部最小化下。
>>> words = ['When', 'you', 'fall', 'stand', 'up.', 'And', 'when', 'you', 'break', 'stand', 'tough', 'And', 'when', 'they', 'say', 'you', 'can't,', 'you', 'say', 'I', 'can', 'I', 'can'] >>> count = 0 >>> sta_word = 'when' >>> for word in words: if word.lower() == sta_word: count += 1 >>> print('{}出现了{}次'.format('when', count)) when出现了3次
二、统计次数方法
统计次数的count()
方法可以快速统计字符串中某个子串出现的次数,但这个方法在列表数据类型中应用较多,在字符串中应用很少,使用不当容易造成不易察觉的错误。
比如统计“帽子和服装如何搭配才好看”这句话中“和服”出现的次数,虽然出现了“和服”,但不是想要统计的结果,对于英文中很多单词有多种时态,更是如此。通常,在统计文本中的词频之前,需要对文本进行分词处理,对于英文文本可能还需要进行词形还原,以便更准确地统计词频。
>>> "帽子和服装如何搭配才好看".count("和服") 1 >>> import jieba >>> words = jieba.lcut("帽子和服装如何搭配才好看") >>> words ['帽子','和','服装','如何','搭配','才','好看'] >>> words.count("和服") # 分词后再统计 0
三、去掉左右侧字符方法
在做文本处理任务时,对于网络上爬取或者其他渠道获取的数据信息,经常会存在“噪声”,即会有一些没有实际意义的字符,干扰文本的格式和信息的提取,此时strip()
、lstrip()
、rstrip()
方法就可以帮助删除掉字符串头部和尾部的指定字符。当字符没有被指定时,默认去除空格或换行符。lstrip()
代表删除字符串左侧(即头部)出现的指定字符,rstrip()代表删除字符串右侧(即尾部)出现的指定字符。下面通过几个例子来说明。
>>> temp_str = " tomorrow is another day " >>> temp_str.strip() 'tomorrow is another day' >>> temp_str = "# tomorrow is another day @" >>> temp_str.strip('#') ' tomorrow is another day @' >>> temp_str.strip('# @') 'tomorrow is another day' >>> temp_str = "#@ tomorrow is another day @" >>> temp_str.lstrip('@# ') 'tomorrow is another day @'
四、字符串分隔方法
当字符串具有特定的格式,或者需要处理的数据具有结构化特点,比如excel表格的数据、或者json格式的文件等,当提取其中的某一个或几个字段时,需要先对字符串进行分隔。split()
方法以指定的分隔符为基准,将分隔后得到的字符串以数组类型返回,方便进行之后的操作。当没有指定分隔符时,默认以空格分隔。
>>> temp_str = "Whatever is worth doing is worth doing well" >>> temp_str.split() ['Whatever', 'is', 'worth', 'doing', 'is', 'worth', 'doing', 'well'] >>> temp_str = "tomorrow#is#another#day" >>> temp_str.split('#') ['tomorrow', 'is', 'another', 'day'] >>> temp_str = ‘"name":"Mike","age":18,"sex":"male","hair":"black"' >>> temp_str.split(',') ['"name":"Mike"', '"age":18', '"sex":"male"', '"hair":"black"']
五、字符串替换方法
字符串替换也是很常用的方法之一。例如发现有输入错误的时候,正确的要替换掉错误的,或者需要将一些没有意义的字符统一去除或者换成空格的时候,都可以考虑使用replace()
方法。第三个参数为可选参数,表示替换的最大次数。
>>> temp_str = "this is really interesting, and that is boring." >>> temp_str.replace('is','was') 'thwas was really interesting, and that was boring.' >>> temp_str.replace('is','was') 'this was really interesting, and that was boring.' >>> temp_str = 'I really really really like you.' >>> temp_str.replace("really","",2) 'I really like you.'
上述示例表明,在编程中需要考虑替换字符串中所有包含目标字符串的单词的情况,而不仅仅是替换目标字符串本身。在处理英文字符串时,可以考虑在替换过程中添加空格以避免错误替换,就像第四行中的做法一样。
六、字符串拼接方法
字符串的拼接方法与其分隔方法可以看作是互逆操作,join()
方法将序列中的元素以指定的字符连接,生成一个新的字符串。这个序列可以是字符串、元组、列表、字典等。
>>> seq = 'hello world' >>> ":".join(seq) 'h:e:l:l:o: :w:o:r:l:d' >>> seq = ('Whatever', 'is', 'worth', 'doing', 'is', 'worth', 'doing', 'well') >>> "*".join(seq) 'Whatever*is*worth*doing*is*worth*doing*well' >>> seq = ['Whatever', 'is', 'worth', 'doing', 'is', 'worth', 'doing', 'well'] >>> " ".join(seq) 'Whatever is worth doing is worth doing well' >>> seq = ['"name":"Mike"', '"age":18', '"sex":"male"', '"hair":"black"'] >>> "#".join(seq) '"name":"Mike"#"age":18#"sex":"male"#"hair":"black"'
七、判断是否为数字的方法
isdigit()
方法用于判断一个字符串是否全部都由数字组成,返回值为布尔值。如果字符串中存在小数点或者符号,也不能认为全都是数字,如下例所示:
>>> num = "13579" >>> num.isdigit() True >>> num = '1.0' >>> num.isdigit() False >>> num = '-1' >>> num.isdigit() False
八、判断是否为空格的方法
isspace()
方法用于判断一个字符串是否全部都由空格组成,返回值为布尔值。要注意的是,空字符串返回False。如下例所示:
>>> t = '' >>> t.isspace() False >>> t = ' ' >>> t.isspace() True
九、判断前缀和后缀的方法
startswith()
和endswith()
分别用于判断字符串的前缀和后缀,即它的开始部分和结尾部分,返回值为布尔值,后面有两个可选参数,相当于对字符串做一个切片后再判断前缀/后缀。如下例所示:
>>> temp_str = "Whatever is worth doing is worth doing well" >>> temp_str.startswith("W") True >>> temp_str.startswith("What") True >>> temp_str.startswith('Whatever',2) False >>> temp_str.endswith("well",2) True >>> temp_str.endswith("we",2,-2) True
补充:更多Python字符串常用方法
a = "hello world" # 字符串不能通过索引进行修改 name[0] = 'q' # 切片,查找字符串当中的一段值,[起始值:终止值:步长]不写步长默认是1 print(a[0:5:]) print(a[::-1]) # 步长负数倒过来走,不写起始值和终止值就走完全部 print(a[::1]) print(len(a)) # len方法获取字符串的长度 # in 和 not in :判断一个字符串是否在一个大的字符串中 # 返回值为布尔类型 print('hello' in 'hello world') print('nihao' not in 'hello world') # 字符串的增 print('nihao', 'Python') print('nihao' + 'Python') # format 前面的大括号写上数字代表着取后面括号里的索引位置 print('==============format================') print('my name is {}'.format(100)) print('my name is {1},my age is {0}'.format('dayv', 18)) print('my name is {0},my age is {1}'.format('dayv', 18)) # join 把列表里的元素组成字符串 str1 = '真正的勇士' str2 = '敢于直面惨淡的人生' str3 = '敢于正视淋漓的鲜血' print(''.join([str1, str2, str3])) # 前面的逗号表示用什么来隔开,列表中只能是字符串才能使用join方法 print(','.join([str1, str2, str3])) # 删 del name1 = 'nihao' del name1 # 这就把这个变量删除了,在输出这个变量就会出错 # 改 # 字符串变大小写 upper , lower , name1 = 'abc' print('大写:' + name1.upper()) print(name1.lower()) # capitalize 将第一个字母转换成大写 print(name1.capitalize()) # 将每个单词的首字母大写 title name2 = 'hello world' print('每个单词首字母大写:' + name2.title()) print('原name2的值' + name2) # 将字符串切分成列表 默认空格为字符切分 split name1 = 'a b cd e' print(name1.split()) # 括号里写什么就用什么切分 !!!!!!!!!!!!!!!!!!!! name1 = 'a1b1cd1e' print("自己配置用什么东西切分", name1.split('1')) # 返回的是列表 # rsplit('指定用什么切片', 切几次),反过来切 print('切片倒过来切使用rsplit', name1.rsplit('1', 1)) # 倒过来切一个元素 # 替换replace(被替换的字符,替换的字符,个数) !!!!!!!!!!!!!! print(name1.replace('1', '0')) print(name1.replace('1', '0', 1)) # 个数是从左往右的顺序替换 aaaaa = ' sdf kkf k k ' print('使用替换去除字符串中的全部空格', aaaaa.replace(" ", '')) # strip 除去字符串两边的空格,中间的不会管 name1 = ' ni h ao ' print(name1.strip()) # 查 # find index # 查找字符串在大字符串的那个索引位置(起始索引) name1 = 'PythonPythonPython' print("使用find查找的索引位置", name1.find('on')) # 找不到会返回-1 print("使用index查找的索引位置:", name1.index('on')) # index方法找不到会报错 # count 统计一个字符串在大字符串里面出现的次数 print(name1.count('qi')) # 判断一个字符串里的数据是不是都是数字 isdigit 返回布尔值 num = '156465' print(num.isdigit()) # 判断一个字符串里的数据是不是都是字母 isalpha num = 'ksdjflks' print(num.isalpha()) # 比较后面一个元素是否是前面一个元素的开头,startswith # 比较后面一个元素是否是前面一个元素的结尾 endswith mm = 'Python nihao' print(mm.startswith('Pyth')) print(mm.endswith('Pytho')) # 判断字符串是否全是大写isupper 是否全是小写islower # 转义字符 \n换行 \t print('hello \nworld') print('z\tiyu') print('Pyth \t on') print('Python123') # 反转义 print(r'zhai \t dada') # 加r print('zhai \\t dada') # 或者写两个斜杠 # 控制字符串的输入字数 print('123456'[:5]) # 只会输入前五个数
위 내용은 Python 문자열의 일반적인 방법과 해당 응용 시나리오 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

하루에 2 시간 동안 파이썬을 배우는 것으로 충분합니까? 목표와 학습 방법에 따라 다릅니다. 1) 명확한 학습 계획을 개발, 2) 적절한 학습 자원 및 방법을 선택하고 3) 실습 연습 및 검토 및 통합 연습 및 검토 및 통합,이 기간 동안 Python의 기본 지식과 고급 기능을 점차적으로 마스터 할 수 있습니다.

웹 개발에서 Python의 주요 응용 프로그램에는 Django 및 Flask 프레임 워크 사용, API 개발, 데이터 분석 및 시각화, 머신 러닝 및 AI 및 성능 최적화가 포함됩니다. 1. Django 및 Flask 프레임 워크 : Django는 복잡한 응용 분야의 빠른 개발에 적합하며 플라스크는 소형 또는 고도로 맞춤형 프로젝트에 적합합니다. 2. API 개발 : Flask 또는 DjangorestFramework를 사용하여 RESTFULAPI를 구축하십시오. 3. 데이터 분석 및 시각화 : Python을 사용하여 데이터를 처리하고 웹 인터페이스를 통해 표시합니다. 4. 머신 러닝 및 AI : 파이썬은 지능형 웹 애플리케이션을 구축하는 데 사용됩니다. 5. 성능 최적화 : 비동기 프로그래밍, 캐싱 및 코드를 통해 최적화

Python은 개발 효율에서 C보다 낫지 만 C는 실행 성능이 높습니다. 1. Python의 간결한 구문 및 풍부한 라이브러리는 개발 효율성을 향상시킵니다. 2.C의 컴파일 유형 특성 및 하드웨어 제어는 실행 성능을 향상시킵니다. 선택할 때는 프로젝트 요구에 따라 개발 속도 및 실행 효율성을 평가해야합니다.

Python의 실제 응용 프로그램에는 데이터 분석, 웹 개발, 인공 지능 및 자동화가 포함됩니다. 1) 데이터 분석에서 Python은 Pandas 및 Matplotlib를 사용하여 데이터를 처리하고 시각화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크는 웹 응용 프로그램 생성을 단순화합니다. 3) 인공 지능 분야에서 Tensorflow와 Pytorch는 모델을 구축하고 훈련시키는 데 사용됩니다. 4) 자동화 측면에서 파이썬 스크립트는 파일 복사와 같은 작업에 사용할 수 있습니다.

Python은 데이터 과학, 웹 개발 및 자동화 스크립팅 필드에 널리 사용됩니다. 1) 데이터 과학에서 Python은 Numpy 및 Pandas와 같은 라이브러리를 통해 데이터 처리 및 분석을 단순화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크를 통해 개발자는 응용 프로그램을 신속하게 구축 할 수 있습니다. 3) 자동 스크립트에서 Python의 단순성과 표준 라이브러리가 이상적입니다.

Python의 유연성은 다중 파리가 지원 및 동적 유형 시스템에 반영되며, 사용 편의성은 간단한 구문 및 풍부한 표준 라이브러리에서 나옵니다. 유연성 : 객체 지향, 기능 및 절차 프로그래밍을 지원하며 동적 유형 시스템은 개발 효율성을 향상시킵니다. 2. 사용 편의성 : 문법은 자연 언어에 가깝고 표준 라이브러리는 광범위한 기능을 다루며 개발 프로세스를 단순화합니다.

Python은 초보자부터 고급 개발자에 이르기까지 모든 요구에 적합한 단순성과 힘에 호의적입니다. 다목적 성은 다음과 같이 반영됩니다. 1) 배우고 사용하기 쉽고 간단한 구문; 2) Numpy, Pandas 등과 같은 풍부한 라이브러리 및 프레임 워크; 3) 다양한 운영 체제에서 실행할 수있는 크로스 플랫폼 지원; 4) 작업 효율성을 향상시키기위한 스크립팅 및 자동화 작업에 적합합니다.

예, 하루에 2 시간 후에 파이썬을 배우십시오. 1. 합리적인 학습 계획 개발, 2. 올바른 학습 자원을 선택하십시오. 3. 실습을 통해 학습 된 지식을 통합하십시오. 이 단계는 짧은 시간 안에 Python을 마스터하는 데 도움이 될 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
