成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python字符串執(zhí)函數(shù),Python 字符串函數(shù)

python函數(shù)統(tǒng)計(jì)字符串中字母數(shù)學(xué)其他字符的個(gè)數(shù)

代碼如下:

公司主營(yíng)業(yè)務(wù):做網(wǎng)站、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出金溪免費(fèi)做網(wǎng)站回饋大家。

text = "Hello Python,Hello 2021."

letter = 0

digital = 0

other = 0

for i in text:

if i.isalpha():

letter += 1

elif i.isdigit():

digital += 1

else:

other += 1

print('字母:{} 數(shù)字:{} 其他:{}'.format(letter,digital,other))

輸出:

字母:16 數(shù)字:4 其他:4

下面是Python內(nèi)置關(guān)于判斷字符串類型的方法介紹:

str.isalnum()

如果字符串中的所有字符都是字母或數(shù)字且至少有一個(gè)字符,則返回?True?, 否則返回?False?。 如果?c.isalpha()?,?c.isdecimal()?,?c.isdigit()?,或?c.isnumeric()?之中有一個(gè)返回?True?,則字符``c``是字母或數(shù)字。

str.isalpha()

如果字符串中的所有字符都是字母,并且至少有一個(gè)字符,返回?True?,否則返回?False?。字母字符是指那些在 Unicode 字符數(shù)據(jù)庫中定義為 "Letter" 的字符,即那些具有 "Lm"、"Lt"、"Lu"、"Ll" 或 "Lo" 之一的通用類別屬性的字符。 注意,這與 Unicode 標(biāo)準(zhǔn)中定義的"字母"屬性不同。

str.isascii()

如果字符串為空或字符串中的所有字符都是 ASCII ,返回?True?,否則返回?False?。ASCII 字符的碼點(diǎn)范圍是 U+0000-U+007F 。

3.7 新版功能.

str.isdecimal()

如果字符串中的所有字符都是十進(jìn)制字符且該字符串至少有一個(gè)字符,則返回?True?, 否則返回?False?。十進(jìn)制字符指那些可以用來組成10進(jìn)制數(shù)字的字符,例如 U+0660 ,即阿拉伯字母數(shù)字0 。 嚴(yán)格地講,十進(jìn)制字符是 Unicode 通用類別 "Nd" 中的一個(gè)字符。

str.isdigit()

如果字符串中的所有字符都是數(shù)字,并且至少有一個(gè)字符,返回?True?,否則返回?False?。 數(shù)字包括十進(jìn)制字符和需要特殊處理的數(shù)字,如兼容性上標(biāo)數(shù)字。這包括了不能用來組成 10 進(jìn)制數(shù)的數(shù)字,如 Kharosthi 數(shù)。 嚴(yán)格地講,數(shù)字是指屬性值為 Numeric_Type=Digit 或 Numeric_Type=Decimal 的字符。

str.isidentifier()

如果字符串是有效的標(biāo)識(shí)符,返回?True?,依據(jù)語言定義,?標(biāo)識(shí)符和關(guān)鍵字?節(jié)。

調(diào)用?keyword.iskeyword()?來檢測(cè)字符串?s?是否為保留標(biāo)識(shí)符,例如?def?和?class。

Python中冷門但非常好用的內(nèi)置函數(shù)

Python中有許多內(nèi)置函數(shù),不像print、len那么廣為人知,但它們的功能卻異常強(qiáng)大,用好了可以大大提高代碼效率,同時(shí)提升代碼的簡(jiǎn)潔度,增強(qiáng)可閱讀性

Counter

collections在python官方文檔中的解釋是High-performance container datatypes,直接的中文翻譯解釋高性能容量數(shù)據(jù)類型。這個(gè)模塊實(shí)現(xiàn)了特定目標(biāo)的容器,以提供Python標(biāo)準(zhǔn)內(nèi)建容器 dict , list , set , 和 tuple 的替代選擇。在python3.10.1中它總共包含以下幾種數(shù)據(jù)類型:

容器名簡(jiǎn)介

namedtuple() 創(chuàng)建命名元組子類的工廠函數(shù)

deque 類似列表(list)的容器,實(shí)現(xiàn)了在兩端快速添加(append)和彈出(pop)

ChainMap 類似字典(dict)的容器類,將多個(gè)映射集合到一個(gè)視圖里面

Counter 字典的子類,提供了可哈希對(duì)象的計(jì)數(shù)功能

OrderedDict 字典的子類,保存了他們被添加的順序

defaultdict 字典的子類,提供了一個(gè)工廠函數(shù),為字典查詢提供一個(gè)默認(rèn)值

UserDict 封裝了字典對(duì)象,簡(jiǎn)化了字典子類化

UserList 封裝了列表對(duì)象,簡(jiǎn)化了列表子類化

UserString 封裝了字符串對(duì)象,簡(jiǎn)化了字符串子類化

其中Counter中文意思是計(jì)數(shù)器,也就是我們常用于統(tǒng)計(jì)的一種數(shù)據(jù)類型,在使用Counter之后可以讓我們的代碼更加簡(jiǎn)單易讀。Counter類繼承dict類,所以它能使用dict類里面的方法

舉例

#統(tǒng)計(jì)詞頻

fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']

result = {}

for fruit in fruits:

if not result.get(fruit):

result[fruit] = 1

else:

result[fruit] += 1

print(result)

#{'apple': 2, 'peach': 3, 'lemon': 1}下面我們看用Counter怎么實(shí)現(xiàn):

from collections import Counter

fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']

c = Counter(fruits)

print(dict(c))

#{'apple': 2, 'peach': 3, 'lemon': 1}顯然代碼更加簡(jiǎn)單了,也更容易閱讀和維護(hù)了。

elements()

返回一個(gè)迭代器,其中每個(gè)元素將重復(fù)出現(xiàn)計(jì)數(shù)值所指定次。元素會(huì)按首次出現(xiàn)的順序返回。如果一個(gè)元素的計(jì)數(shù)值小于1,elements()將會(huì)忽略它。

c = Counter(a=4, b=2, c=0, d=-2)

sorted(c.elements())

['a', 'a', 'a', 'a', 'b', 'b']most_common([n])

返回一個(gè)列表,其中包含n個(gè)最常見的元素及出現(xiàn)次數(shù),按常見程度由高到低排序。如果n被省略或?yàn)镹one,most_common()將返回計(jì)數(shù)器中的所有元素。計(jì)數(shù)值相等的元素按首次出現(xiàn)的順序排序:

Counter('abracadabra').most_common(3)

[('a', 5), ('b', 2), ('r', 2)]這兩個(gè)方法是Counter中最常用的方法,其他方法可以參考 python3.10.1官方文檔

實(shí)戰(zhàn)

Leetcode 1002.查找共用字符

給你一個(gè)字符串?dāng)?shù)組words,請(qǐng)你找出所有在words的每個(gè)字符串中都出現(xiàn)的共用字符(包括重復(fù)字符),并以數(shù)組形式返回。你可以按任意順序返回答案。

輸入:words = ["bella", "label", "roller"]

輸出:["e", "l", "l"]

輸入:words = ["cool", "lock", "cook"]

輸出:["c", "o"]看到統(tǒng)計(jì)字符,典型的可以用Counter完美解決。這道題是找出字符串列表里面每個(gè)元素都包含的字符,首先可以用Counter計(jì)算出每個(gè)元素每個(gè)字符出現(xiàn)的次數(shù),依次取交集最后得出所有元素共同存在的字符,然后利用elements輸出共用字符出現(xiàn)的次數(shù)

class Solution:

def commonChars(self, words: List[str]) - List[str]:

from collections import Counter

ans = Counter(words[0])

for i in words[1:]:

ans = Counter(i)

return list(ans.elements())提交一下,發(fā)現(xiàn)83個(gè)測(cè)試用例耗時(shí)48ms,速度還是不錯(cuò)的

sorted

在處理數(shù)據(jù)過程中,我們經(jīng)常會(huì)用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時(shí)候就需要用到sorted(),它可以對(duì)任何可迭代對(duì)象進(jìn)行排序,并返回列表

對(duì)列表升序操作:

a = sorted([2, 4, 3, 7, 1, 9])

print(a)

# 輸出:[1, 2, 3, 4, 7, 9]對(duì)元組倒序操作:

sorted((4,1,9,6),reverse=True)

print(a)

# 輸出:[9, 6, 4, 1]使用參數(shù):key,根據(jù)自定義規(guī)則,按字符串長(zhǎng)度來排序:

fruits = ['apple', 'watermelon', 'pear', 'banana']

a = sorted(fruits, key = lambda x : len(x))

print(a)

# 輸出:['pear', 'apple', 'banana', 'watermelon']all

all() 函數(shù)用于判斷給定的可迭代參數(shù)iterable中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。元素除了是 0、空、None、False外都算True。注意:空元組、空列表返回值為True。

all(['a', 'b', 'c', 'd']) # 列表list,元素都不為空或0

True

all(['a', 'b', '', 'd']) # 列表list,存在一個(gè)為空的元素

False

all([0, 1,2, 3]) # 列表list,存在一個(gè)為0的元素

False

all(('a', 'b', 'c', 'd')) # 元組tuple,元素都不為空或0

True

all(('a', 'b', '', 'd')) # 元組tuple,存在一個(gè)為空的元素

False

all((0, 1, 2, 3)) # 元組tuple,存在一個(gè)為0的元素

False

all([]) # 空列表

True

all(()) # 空元組

Trueany函數(shù)正好和all函數(shù)相反:判斷一個(gè)tuple或者list是否全為空,0,F(xiàn)alse。如果全為空,0,F(xiàn)alse,則返回False;如果不全為空,則返回True。

F-strings

在python3.6.2版本中,PEP 498提出一種新型字符串格式化機(jī)制,被稱為 “字符串插值” 或者更常見的一種稱呼是F-strings,F(xiàn)-strings提供了一種明確且方便的方式將python表達(dá)式嵌入到字符串中來進(jìn)行格式化:

s1='Hello'

s2='World'

print(f'{s1} {s2}!')

# Hello World!在F-strings中我們也可以執(zhí)行函數(shù):

def power(x):

return x*x

x=4

print(f'{x} * {x} = {power(x)}')

# 4 * 4 = 16而且F-strings的運(yùn)行速度很快,比傳統(tǒng)的%-string和str.format()這兩種格式化方法都快得多,書寫起來也更加簡(jiǎn)單。

本文主要講解了python幾種冷門但好用的函數(shù),更多內(nèi)容以后會(huì)陸陸續(xù)續(xù)更新~

請(qǐng)教python中如何把輸入的字符串當(dāng)作函數(shù)的

可以通過內(nèi)置的eval函數(shù),eval功能就是把輸入的字符串當(dāng)作一個(gè)Python表達(dá)式求值1eval(str)

Python API快餐教程(1) - 字符串查找API

字符串是7種序列類型中的一種。

除了序列的操作函數(shù),比如len()來求字符串長(zhǎng)度之外,Python還為字符串提供豐富到可以寫個(gè)編輯器的API.

首先,下面的查找API都是為了查找位置,或者查一共有幾次這樣的操作。

如果只是想判斷一個(gè)字符串是不是另一個(gè)字符串的子串的話,使用序列的in運(yùn)算符就可以了。

例:

原型:str.count(sub[, start[, end]])

字符串的count函數(shù)可以數(shù)出來有多少次匹配,我們看個(gè)例子,有5個(gè)ha和3個(gè)hei

輸出為5和2.

haha只能匹配兩次。

再加上擴(kuò)展參數(shù):

find函數(shù)的行為是,如果能找到,則返回在序列中的坐標(biāo),如果找不到,則返回-1. rfind是從右向左查找。我們來看例子:

輸出值為0和6.

找不到的例子:

輸出值都是-1.

完整形式:

index和rindex的功能與find和rfind基本上一致,除了在找不到時(shí)會(huì)拋出ValueError異常而不是返回-1.

例:

所以我們需要加try...except語句來處理之:

有時(shí)候,我們希望做從頭匹配或者匹配尾部。這時(shí)候就要用到startswith函數(shù)和endswith函數(shù)。例:

這兩個(gè)返回值均為True.

如果需要更復(fù)雜的匹配,還是需要正則表達(dá)式。與Java等語言不同,Python中的正則表達(dá)式有專門的模塊,字符串的API不負(fù)責(zé)這個(gè)事情。

文章名稱:python字符串執(zhí)函數(shù),Python 字符串函數(shù)
本文來源:http://jinyejixie.com/article32/dsecpsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)頁設(shè)計(jì)公司靜態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
大同市| 柳江县| 台山市| 梨树县| 班戈县| 浑源县| 浑源县| 昂仁县| 同心县| 乌审旗| 娄烦县| 台北市| 会理县| 济宁市| 洱源县| 云浮市| 天台县| 军事| 惠水县| 武邑县| 甘泉县| 曲靖市| 呼伦贝尔市| 惠安县| 澎湖县| 宿迁市| 博客| 四子王旗| 西城区| 宁海县| 鄂州市| 德钦县| 灵寿县| 梅河口市| 沙田区| 连江县| 巨野县| 佛冈县| 屏山县| 团风县| 广水市|