Python 列表及字串處理

2021-10-23 09:43:12 字數 3370 閱讀 9482

列表處理字串

使用列表處理字串,可以極大節省**量,在一些特殊場合有出奇制勝的效果,本文將介紹一些處理技巧。

list_a =

list

(s)list_b =[1

,2,4

]

#正索引

a = list_a[0]

#負索引

b = list_b[-1

]

list_a1 = list_a[a:b]

#取[a,b)的數值

list_a2 = list_a[a:-1

]#捨棄最後一位

list_a2 = list_a[::

-1]#實現倒序

list_b = list_a*

3#重複三遍

list_c = list_a + list_b
flag =

'str1'

in list_a

for i in list_a:

print i

list_c =

[list_a,list_b]

#索引list_a = list_c[0]

a = list_c[0]

[0]

#改變對應索引的值

list_a[index]

= a#切片賦值

list_a[index1:index2]

= list_b

n =

len(list_a)

#末尾增加乙個元素

#指定位置插入元素

list_a.insert(index,a)

#拉伸,末尾新增多個元素

list_a.extend(list_b)

#彈出功能,刪除元素,並返回被刪除的元素

a = list_a.pop(

)#刪除末尾元素

a = list_a.pop(0)

#刪除首元素

#移除指定物件,不能賦值

list_a.remove(a)

#刪除功能

del list_a[a:b]

#指定刪除一段

del list_a #全部刪除

c = list_a.count(a)
#返回最小索引

index = list_a.index(a)

#在特定位置查詢,返回最小索引

index = list_a.index(a,index1,index2)

函式用於對原列表進行排序,如果指定引數,則使用指定引數,則使用比較函式指定的比較函式。

list

.sort(

cmp=

none

,key=

none

,reverse=

false

)

引數:

無返回值,對原列表進行操作。

sorted()函式不改變原系列,生成乙個新的排序系列

sorted

(iterable,cmp=none,key=none,reverse=false)

其中:

比較函式有兩個輸入引數,引數格式與需要排序元素的相同,可以採用大於返回1,等於返回0,小於返回-1:python3已將該功能刪除

def cmpf

(x,y)

:if x>y:

return

1 elif x==y:

return0:

else

:return

-1

key形參用來指定在進行比較之前要對每個列表元素進行呼叫的函式

例如key = str.lower會將大寫轉化為小寫在比較

str1 =

"stringsgggjhjh"

str_sort =

sorted

(str1,key=

str.lower)

一種常見的使用方法,選取元素的第幾個引數作為排序物件

key =

lambda x:x[

1]

key形參的值應該是乙個函式,它接受乙個引數並返回乙個用於排序的鍵

將字串轉化為列表比較簡單,用list(str1)可以將字串轉化為字元儲存在列表中,但將列表轉化我字串,比較複雜,str(list1)是將list的每個元素轉化為字串,要恢復原字串,需要使用拼接功能。

str_a =

"string123"

print str_a

#字串轉化為列表

list_a =

list

(str_a)

print list_a

#列表元素轉化為字串

str1 =

str(list_a)

print str1

#使用拼接恢復字串

str2 =

''for i in list_a:

str2 = str2 + i

print str2--

--string123

['s'

,'t'

,'r'

,'i'

,'n'

,'g'

,'1'

,'2'

,'3'][

's',

't',

'r',

'i',

'n',

'g',

'1',

'2',

'3']

string123

字串排序

names =

['alice'

,'bob'

,'coco'

,'harry'

]names.

sort()

names ###按照ascll排序 ###先排序首字母為大寫的,再排序首字母是小寫的

names.

sort

(key=str.lower) ###對字串排序不區分大小寫,相當於將所有元素轉換為小寫,再排序

names.

sort

(key=str.upper) ###相當於將所有元素轉換為大寫,再排序

Python中字串與列表轉換及字串打散組合

在python中經常會遇到列表中元素轉換為字串,字串轉換為列表,將字串打散的等問題。下面依次說下我的做法 1.讀入整數 在做一些oj時,經常碰到讀取輸入的整數,如果是讀入單個整數,可以用 x input 這樣x返回的結果就是整數,無需轉換,但如果輸入是 123 456 78 這樣的,光靠input ...

Python 字串轉列表,列表轉字串

一般計算字串的數量,用len 方法就能實現,例如 str string len str 6 s,t,r,i,n,g 但是,當要計算單詞的數量時,該怎麼辦?sentence hello world and python len sentence 24 問題 一段訊息裡面的單詞數計數。寫乙個函式,當單詞...

Python 字串處理

python endswith 方法用於判斷字串是否以指定字尾結尾,如果以指定字尾結尾返回 true 否則返回 false 可選引數 start 與 end 為檢索字串的開始與結束位置。語法 endswith 方法語法 str.endswith suffix start end 引數 返回值 如果字...