python3 标准库一些总结

Posted weizitianming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 标准库一些总结相关的知识,希望对你有一定的参考价值。

 

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)
View Code

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)
View Code

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
View Code

 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
View Code

 

以上是关于python3 标准库一些总结的主要内容,如果未能解决你的问题,请参考以下文章

实现一些字符串操作标准库函数解决一些字符串问题的总结

Python3-笔记-E-013-库-Python的时间函数总结

C 标准库基础 IO 操作总结

STL学习总结

C++一些算法题总结

acm学习总结