字串(str)
字串的下標(索引)
str_data = "python"
p y t h o n
0 1 2 3 4 5
-6 -5 -4 -3 -2 -1
索引就是某資料在序列的位置
- 正索引:從左至右,從0開始
- 負索引:從右至左,從-1開始
- 其中:str_data[0] = str_data [-6] = 'p',str_data[1] =str_data[-5],......
字串的切片
切片即給定一個字串,從頭部或尾部擷取指定數量的字串。
語法:str[start_index: stop_index: step]
- 起始位置 : start_index (空時預設為 0)
- 終點位置: stop_index (空時預設為列表長度) 需要注意起點與終點索引的位置關係。
- 步長: step (空時預設為 1,不能為 0)
str_data[0:2] = str_data = [-6:-4] "py",......
若要取"po" = str_data[0:5:4]
字串倒置:
- str_data[::-1] = "nohtyp"
ps:字串切片
字串常用操作方法
重要字串方法
方法 | 描述 |
---|---|
join() | 將序列中的元素以指定的字元連線生成一個新的字串 |
replace() | 返回字串,其中指定的值被替換為指定的值 |
split() | 在指定的分隔符處拆分字串並返回列表 |
splitlines() | 在換行符處拆分字串並返回列表 |
strip() | 返回字串的裁剪版本,預設是去除字串兩邊的空白符 \r \t \n |
# 字串是不可變資料型別,這些方法不會改變原有的資料
# join()
str_data = "python"
print('-'.join(str_data)) # p-y-t-h-o-n
print(str_data) # python
# replace()(不會修改字串)
# 語法:字串.replace(字串1,字串2)
# 功能:將字串內的全部:字串1,替換為字串2
# 注意:不是修改字串本身,而是得到了一個新字串
str_data = "python"
new_str = str_data.replace('n', 'a')
print(new_str) # pythoa
print(str_data) # python
# split()(不會修改字串)
# 語法:字串.split(分隔字串)
# 功能:按照指定的分隔符字串,將字串劃分為多個字串,並存入列表物件
# 注意:字串本身不變,而是得到了一個列表物件
str_data = "hello world"
new_str = str_data.split() # 預設對空格進行分割
print(new_str) # ['hello', 'world']
print(str_data) # hello world
# splitlines()(不會修改字串)
str_data = "hello\nworld"
new_str = str_data.splitlines()
print(new_str) # ['hello', 'world']
# strip()字串的規整操作
# 字串的規整操作(不傳入引數,去除前後空格)
# 語法:字串.strip()
my_str = " python "
print(my_str.strip()) # 結果: "python"
# 字串的規整操作(去除前後指定字串)
# 語法:字串.strip(字串)
my_str = "12python21"
print(my_str.strip("12")) # 結果:"python"
# 注意:傳入的是“12”其實就是:”1”和”2”都會移除,是按照單個字元。
常用字串方法
方法 | 描述 |
---|---|
upper() | 把字串轉換為大寫 |
zfill() | 在字串的開頭填充指定數量的 0 值 |
lower() | 把字串轉換為小寫 |
count() | 返回指定值在字串中出現的次數 |
find() | 在字串中搜尋指定的值並返回它被找到的位置 |
format() | 格式化字串中的指定值 |
index() | 在字串中搜尋指定的值並返回它被找到的位置 |
isdigit() | 如果字串中的所有字元都是數字,則返回 True |
其他字串方法
方法 | 描述 |
---|---|
capitalize() | 把首字元轉換為大寫 |
casefold() | 把字串轉換為小寫 |
center() | 返回居中的字串 |
encode() | 返回字串的編碼版本 |
endswith() | 如果字串以指定值結尾,則返回 true |
expandtabs() | 設定字串的 tab 尺寸 |
isalnum() | 如果字串中的所有字元都是字母數字,則返回 True |
isalpha() | 如果字串中的所有字元都在字母表中,則返回 True |
isdecimal() | 如果字串中的所有字元都是小數,則返回 True |
isidentifier() | 如果字串是識別符號,則返回 True |
islower() | 如果字串中的所有字元都是小寫,則返回 True |
isnumeric() | 如果字串中的所有字元都是數,則返回 True |
swapcase() | 切換大小寫,小寫成為大寫,反之亦然 |
title() | 把每個單詞的首字元轉換為大寫 |
translate() | 返回被轉換的字串 |
isprintable() | 如果字串中的所有字元都是可列印的,則返回 True |
isspace() | 如果字串中的所有字元都是空白字元,則返回 True |
istitle() | 如果字串遵循標題規則,則返回 True |
isupper() | 如果字串中的所有字元都是大寫,則返回 True |
ljust() | 返回字串的左對齊版本 |
lstrip() | 返回字串的左修剪版本 |
maketrans() | 返回在轉換中使用的轉換表 |
partition() | 返回元組,其中的字串被分為三部分。 |
rfind() | 在字串中搜尋指定的值,並返回它被找到的最後位 |
rindex() | 在字串中搜尋指定的值,並返回它被找到的最後位置 |
rjust() | 返回字串的右對齊版本 |
rpartition() | 返回元組,其中字串分為三部分 |
rsplit() | 在指定的分隔符處拆分字串,並返回列表 |
rstrip() | 返回字串的右邊修剪版本 |
startswith() | 如果以指定值開頭的字串,則返回 true |