微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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],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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐