二. 高階變數型別
1. 字串的定義
# 定義字串 字串的元素就是指單個字元
str1 =
"hello"
str1 =
'hello'
# 支援索引和遍歷
print
(str1[0]
)for char in str1:
print
(char)
# 內部使用單引號,外部使用雙引號(反之亦然)
str2 =
"hello 'py'thon"
print
(str2)
# 一般使三對單/雙引號來記錄多行字串
str3 =
"""hello
python
123"""
print
(type
(str3)
)print
(str3)
2. 字串的基本操作 (重點)str1 =
'hello python'
"""查詢字元的索引位置"""
# 字串.find(字元) 查詢該字元在字串中的索引位置(只獲取匹配到的第乙個)
index = str1.find(
"o")
print
(index)
# 字串.find(字元, 起始索引, 結束索引) 查詢指定的索引範圍:[起始索引, 結果索引)
index = str1.find(
'o',5,
11)# # 查詢不到資料時,返回-1
print
(index)
# 字串.rfind(字元) 從右側開始查詢
index = str1.rfind(
'o')
print
(index)
"""替換"""
# 字串.replace(原內容, 新內容) 字串本身不能更改,所謂的'修改'其實是生成了乙個新的字串
str2 = str1.replace(
"python"
,"c"
)print
(str1)
print
(str2)
# 字串.replace(內容, 新內容, 替換次數) 預設全部替換,也可以指定次數
str2 = str1.replace(
"o",
"a",1)
print
(str2)
str1 =
'hello python'
"""拆分"""
# 按照分隔符將字串拆分為多個字元,並新增列表中返回
# 字串.split(分隔符, 分割次數)
result = str1.split(
" ")
print
(result)
['hello'
,'python'
]"""拼接"""
# 字串 + 字串 拼接
str2 =
'上海'
str3 =
'北京'
str4 = str2 +
'-'+ str3
print
(str4)
# 連線符.join(可迭代物件)
# 可迭代物件:可以進行for迴圈遍歷的資料(高階變數型別都是)
# 該方法要求的可迭代物件中元素必須是字串
str4 =
'-'.join(
[str2, str3]
)print
(str4)
# 如果2-3個字串拼接,使用 加法
# 如果多個字串拼接,建議使用join 效能好
3. 切片 (重點)str1 =
'hello python'
# 取乙個字元 字串[索引]
print
(str1[1]
)# 取一部分字元 切片
# 切皮格式: 字串[開始索引:結束索引] 取值範圍: [開始索引, 結束索引)
# hello
print
(str1[0:
5])# python
print
(str1[6:
12])# 切片也支援負數格式
# hello
print
(str1[0:
-7])
# 如果從開頭開始取, 可以省略開始索引
# hello
print
(str1[:5
])# 如果從取到最後乙個元素,可以省略結束索引
# python
print
(str1[6:
])
"""切片的高階處理: 步長"""
# 格式: 字串[開始索引:結束索引:步長]
# 步長公式: 當前索引 + 步長 = 下乙個資料的索引
str2 =
"python"
print
(str2[::
2])# 步長為負,表示倒序取值
print
(str2[::
-1])
# 將字串翻轉
# 如果步長為負數,
# 則省略開頭表示從最後乙個元素開始取;
# 則省略結尾表示取到第乙個元素
print
(str2[::
-1])
# nohtyp
print
(str2[5:
:-1]
)# nohtyp
# 練習: 將 輸入的檔名 123.txt -> 修改為 123[復件].txt
file_name =
input
("請輸入檔名:"
)# 方法一: 使用replace替換
new_filename = file_name.replace(
".txt"
,"[復件].txt"
)print
(new_filename)
# 方法二: 使用切片來實現
# 查詢.索引的位置
dot_index = file_name.rfind(
'.')
# 使用切片分割檔名,並重新拼接
new_filename = file_name[
:dot_index]
+'[復件]'
+ file_name[dot_index:
]print
(new_filename)
1. set# 有序: 列表 元組 字串
# 無序: 字典 set
# 定義無序集合 1. 無序 2.去重
set1 =
print
(set1)
print
(type
(set1))#
# 主要用於 去重處理
list1 =[10
,20,30
,40,30
,20]# 將列表轉為set
set2 =
set(list1)
print
(set2)
# 將set轉為列表
list2 =
list
(set2)
print
(list2)
2. 公共語法list1 =[10
,20,30
,40]# 最大值
print
(max
(list1)
)# # 最小指
print
(min
(list1)
)# 列表/元組/字串都支援切片
print
(list1[2:
])# 判斷是否不包括
if50
notin list1:
print
("不包括該資料"
)# 逐個元素對比
Python中字串常用操作和字串的切片
a abcdefg print a 1 3 切片冒號表示,冒號前面表示從第幾個座標開始,包含開始那個,後面表示從哪個座標結束 不包含結束座標 print a 1 後坐標不寫表示取到所有 print a 1 1 負數表示從後面第乙個座標開始字串在python中記憶體儲存乙個字母就代表乙個位元組 數字2...
python字元切片 python 字串切片
字串s1 hello,world 字串中字元位置可以通過索引或者下標來表示 字串的索引或下標有兩種方式 a,正數,從左到右,從0開始 b,負數,從右到左,從 1開始 一 如何獲取字串中的某乙個字元 c1 s1 8 c2 s1 3 print c1,c2 都列印出字元 r 二 如何獲取一段字元 c3 ...
Python字串基礎操作
格式符 price width 10 item width width price width header format s s format s 2f print width print header format item width,item price width,price print ...