天天看點

python字元串的方法和清單的方法_python 字元串方法及清單,元組,字典(一)

字元串 str

注:

若想要保持單引号和雙引号為字元串的一部分

1)單雙引号交替使用,

2)使用轉義字元\

3)成對三個引号被存在變量裡

二、字元串詳細用法

字元串的單個取值例 p_1=”hello”

字元串元素定位置,通過索引 正序(→)  反序(←)開始值從0開始,反序從-1開始

取值方式  字元串名[索引值] 例print(p_1[-1])  取o

①字元串切片:字元串名[m:n:k]m:索引起始位置,n:索引結束位置+1,k:步長 預設值為1,取左不取右

1,print(p_1[2:4:10])取ll

2,print(p_1[:])#k=1 m=0 n=到末尾+1取hello

3,print(p_1[0:]) 取hello

②字元串的進階操作:python内置函數的調用

切換大小寫upper()  lower()

例子

s='get'

k='GET'

s_1=s.upper()/k.lower()  #大/小寫函數

print(s_1)  結果GET/get

2.字元串拼接

例子

a="GET"

a1=a[0]+a[1].lower()+a[2]

print(a1)  結果GeT

3.查找字元串 字元串變量名.find(字元串)

例子

a='easier said than done!'

print(a.find('!'))    結果21

#結果傳回字元所在的索引,從左側到右側0開始包括空格,傳回-1說明查找的字元不存在

4.字元串的替換 字元串變量名.replace(目标,替換的值,替換次數)替換次數不寫預設全部替換,隻能先替換在進行其他操作

例子:

a='easier said than done!'

a_1=a.replace('a','@',2)

print(a_1)   結果[email protected] [email protected] than done!

5.split() 根據傳入指定的字元去進行切割

例子

a='easier said than done!'

a_1=a.split("a")

print(a_1)   結果['e', 'sier s', 'id th', 'n done!']   #以a為擋闆進行切割,結果是清單類型的

指定切割次數

a_1=a.split("a",1)

print(a_1)  結果['e', 'sier said than done!']

空格切割

a='easier said than done!'

a_1=a.split(" ")

print(a_1)

結果['easier', 'said', 'than', 'done!']

特殊切割

a='easier said than done!!!!!'

a_1=a.split("!",5)

print(a_1) 結果['easier said than done', '', '', '', '', '']

6.strip()去除指定元素的頭和尾指定的字元,不傳字元時默認去除頭尾的空格

a='easier said than done'

a_1=a.strip("e")

print(a_1) 結果asier said than don

尾部的内容相同一直去除

a='eeeeeasier said than doneeeeee'

a_1=a.strip("e")

print(a_1) 結果asier said than don

字元串的拼接(+)隻能是字元串,格式相同類型相同時用+

a='hello'

a_1='world'

a_2=a+" "+a_1

print(a_2) 結果hello world

附加知識

1、字元串轉換

①整數利用str()可以轉換為字元數,但是字元串不能變為數值型

print(a+str(8888)+a_1) 結果hello8888world

②字元串的值為數字的可以利用int()轉成字元串

print(type(int("6777")))  結果

③str(資料值或者是變量名)函數直接強制轉換為字元串

2、格式化輸出

①%s輸出一個字元串 占坑%d數字

按順序指派

name="jack"

age=18

print("2019年%s參加體育比賽,那年他隻有%d歲!"%(name,age))

結果 2019年jack參加體育比賽,那年他隻有18歲!

②format用{}來占坑,如果不指定順序就按順序指派,少指派的坑就會報錯

name="張三"

date="10月1日"

age=18

print("2019年{1}{0}參加體育比賽,那年他隻有{2}歲!".format(name,date,age))

結果2019年10月1日張三參加體育比賽,那年他隻有18歲!

三、清單 關鍵字 list 标志[]

S=[] #空清單

特點:

1、空清單[],關鍵字list

2、清單裡面可以放任何類型的資料 元素與元素直接用逗号隔開

3、清單裡面的元素都有索引,從0開始和字元串的索引方式是一緻的

4、清單取值方式:清單名[索引值]

5、切片;清單名[m,n,k]跟字元串一樣

s=[20,"hello",2.0,[1,2,3]]

print(s[0:4:2]) 結果[20, 2.0]

進階操作:清單 增删改

增加元素:

1、清單名.append(value)直接追加内容到清單的最後面

s=[20,"hello",2.0,[1,2,3]]

s.append("ok")

print(s) 結果[20, 'hello', 2.0, [1, 2, 3], 'ok']

2、清單名.insert(指定索引值的位置,value)把value插入到指定的位置

s=[20,"hello",2.0,[1,2,3]]

s.insert(1,"ok")

print(s)  結果[20, 'ok', 'hello', 2.0, [1, 2, 3]]

3、extend 擴張清單

s=[20,"hello",2.0,[1,2,3]]

s1=["合理",12,"world"]

s.extend(s1)

print(s) 結果[20, 'hello', 2.0, [1, 2, 3], '合理', 12, 'world']

删除元素

1、删除最後一個元素,清單名.pop()

s=[20,"hello",2.0,[1,2,3]]

s.pop()

print(s) 結果[20, 'hello', 2.0]

2、指定删除元素 清單名.pop(指定的索引位置)

s=[20,"hello",2.0,[1,2,3]]

s.pop(1)

print(s) 結果[20, 2.0, [1, 2, 3]]

3、删除所有元素 清單名.clear()

s=[20,"hello",2.0,[1,2,3]]

s.clear()

print(s) 結果[]

4、修改元素 修改清單裡面元素的value

清單名[指定索引]=新值 修改指定的索引值

s=[20,"hello",2.0,[1,2,3]]

s[1]=2019

print(s) 結果[20, 2019, 2.0, [1, 2, 3]]

四、元組 關鍵字 tuple 标志()

t=() 空元組

特點

1、标志是()關鍵字tuple

2、元組裡面可以放任何類型的資料,元素與元素之間用逗号隔開

3、元組裡面的元素也都有索引從0開始跟字元串的索引方式是一緻的

4、元組取值方式:元組名[索引值]正序 反序

5、切片:元組名[m:n:k]和字元串一樣的操作

注:

①與清單的差別:

1、标志不同

2、元組的值不能進行任何的增删改操作,可以修改元組内部的資料但是不能改外部的資料

例如

第一種

s=(1,"hell0",2.0,[1,2,3],(1,2,3))

s[3]=6666

print(s) 結果 報錯TypeError: 'tuple' object does not support item assignment

s=(1,"hell0",2.0,[1,2,3],(1,2,3))

s[3][2]=6666

print(s) 結果(1, 'hell0', 2.0, [1, 2, 6666], (1, 2, 3))

第二種

s=[1,"hell0",2.0,[1,2,3],(1,2,3)]

s[4]=6666

print(s) 結果[1, 'hell0', 2.0, [1, 2, 3], 6666]

s=[1,"hell0",2.0,[1,2,3],(1,2,3)]

s[-1][1]=6666

print(s) 結果報錯TypeError: 'tuple' object does not support item assignment

②元組單個元素時加逗号稱為元組

a=(1)

a=(1,)

a=(“hello”)

a=(“hello”,)

a=([2,4,6])

a=([2,4,6],)

五、字典 關鍵字 dict 标志{}

特點

1、關鍵字dict {}

2、值的特點是 鍵值對 key_value

3、a={}空字典

4、元組清單都是有序的的資料類型,字典是無序的資料類型

5、取值,按照key取值字典名[key],取所有值 字典名.values(),所有的key值 字典名.keys()

例子

a={"age":18,"name":"張三","address":"上海"}

print(a["age"])

print(a.values())

print(a.keys())

結果

18

dict_values([18, '上海', '張三'])

dict_keys(['age', 'address', 'name'])

6、增删改

增加值:a[新key]=value

修改值:a[已存在的key]=新value

删除值:字典名.pop(key)

例如

a={"age":18,"name":"張三","address":"上海"}

a["sex"]="男"

a["address"]="廣東"

a.pop("age")

print(a)  結果{'sex': '男', 'address': '廣東', 'name': '張三'}

字典嵌套

例如

a={"age":18,"name":"張三","address":"上海","info":{"name":"李四","age":20,"add":"浙江","score":100}}

a_1=a['info']['score']

print(a_1) 結果100

注:key的值時唯一的,value可以不唯一

例子

a={"age":18,"name":"張三","address":"上海","name":"王五"}

print(a)  結果{'name': '王五', 'age': 18, 'address': '上海'}張三被覆寫

a={"age":18,"name":"張三","address":"上海","name2":"張三"}

print(a) 結果{'name': '張三', 'name2': '張三', 'address': '上海', 'age': 18}