Python基礎之字串操作 切片 set

2021-10-01 07:32:56 字數 4267 閱讀 2886

二. 高階變數型別

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 ...