字元串 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}