1,统计个数(字符串,列表等)或者初始化字典,输出一个包含键和计数的字典或提供一个元素序列,还可以使用关键字参数讲字符串名映射到计数。
模块:collections
构造函数: Counter
import collections text1 = "asbgewgrg2121aaassbsbgeeeegwwrr" c = collections.Counter(text1) print(c) print(collections.Counter({‘a‘:3,‘b‘:2})) print(collections.Counter(a=6, b=5)) ##########输出如下####### Counter({‘g‘: 5, ‘e‘: 5, ‘a‘: 4, ‘s‘: 4, ‘b‘: 3, ‘w‘: 3, ‘r‘: 3, ‘2‘: 2, ‘1‘: 2}) Counter({‘a‘: 3, ‘b‘: 2}) Counter({‘a‘: 6, ‘b‘: 5})
2,多行合并
sample_text = """ Ridiculously fast. Django was designed to help developers take applications from concept to completion as quickly as possible. Reassuringly secure. Django takes security seriously and helps developers avoid many common security mistakes. Exceedingly scalable. Some of the busiest sites on the Web leverage Django’s ability to quickly and flexibly scale. """ import textwrap print(textwrap.fill(sample_text,width=50)) # dedented_text = textwrap.dedent(sample_text) print(‘Dedented:‘) print(dedented_text) # dedented2_text = textwrap.dedent(sample_text).strip() for width in [45, 60]: print(‘{} Columns:\n‘.format(width)) print(textwrap.fill(dedented2_text, width=width)) print() # dedented3_text = textwrap.dedent(sample_text) wrapped = textwrap.fill(dedented3_text,width=50) wrapped += ‘\n\nSecond garagraph after a blank line.‘ final = textwrap.indent(wrapped,‘>‘) print(‘Quoted block:\n‘) print(final)
3,re
import re pattern = "this" text = "Does this text match the pattern?" match = re.search(pattern, text) print(type(match)) s = match.start() e = match.end() print(‘Found "{}"\nin "{}"\nfrom {} to {} ("{}")‘.format(match.re.pattern, match.string, s, e, text[s:e])) # print("#" * 20+str(2) + "#" * 20) #2 import re regexes = [ re.compile(p) for p in [‘this‘, ‘that‘] ] text = ‘Does this text match the pattern?‘ print(‘text: {!r}\n‘.format(text)) for regex in regexes: print(‘Seeking "{}" ->‘.format(regex.pattern), end=‘ ‘) if regex.search(text): print(‘match!‘) else: print("no match") print("#" * 20+str(3) + "#" * 20) #3 import re text = ‘abbaaabbbbaaaaa‘ pattern = ‘ab‘ for match in re.findall(pattern,text): print(‘Found {!r}‘.format(match)) print("#" * 20+str(3.2) + "#" * 20) for match in re.finditer(pattern,text): s = match.start() e = match.end() print(‘Found {!r} at {:d}:{:d}‘.format(text[s:e], s, e)) print("#" * 20 + str(4) + "#" * 20) ################输出##################### <class ‘re.Match‘> Found "this" in "Does this text match the pattern?" from 5 to 9 ("this") ####################2#################### text: ‘Does this text match the pattern?‘ Seeking "this" -> match! Seeking "that" -> no match ####################3#################### Found ‘ab‘ Found ‘ab‘ ####################3.2#################### Found ‘ab‘ at 0:2 Found ‘ab‘ at 5:7
4,查找单个字符串在某个序列中的计数,但不支持单个单词在string中查找,可以在列表或元祖中查找计数;
模块:collections
构造函数: Counter
import collections #1 d = collections.Counter("abcdaafbbdd") for letter in ‘abcde‘: print(‘{} : {}‘.format(letter, d[letter])) #2 m = collections.Counter(["this","a","b"]) #()元组 ,序列 for letter in {‘this‘}: # [] 列表 print(‘{} : {}‘.format(letter, m[letter])) #3 不支持字符串单词 text2 = "hello ,this is a tree ,this ,that..." m2 = collections.Counter(text2) for letter in {‘this‘}: print(‘{} : {}‘.format(letter, m2[letter])) ###################输出################# a : 3 b : 3 c : 1 d : 3 e : 0 this : 1 this : 0
原文地址:https://www.cnblogs.com/weizitianming/p/11328221.html
时间: 2024-10-30 04:46:41