5.字符串--索引--詳解


字符串-索引-詳解

一、字符串索引

1.索引

格式: 變量名[頭標:下標:步長] 步長不寫默認為1

索引從左往右是以0開始,從右往左則以-1開始

例:從左往右 輸出變量中得索引值

name = 'yang'
# 索引  0123
print(name[0])
結果:
y

​ 從右往左 輸出變量中得索引值

name = 'yang'
# 索引 -4-3-2-1
print(name[-1])
結果:
g

2.切片

例: 輸出變量中 頭標至下標這個區間的索引值,但不包含終止索引的值

name = 'yang'
# 索引  0123
print(name[0:3])
結果:
yan

3.步長

步長為每次走的步,(有點像跨索引取值)

例:

name = 'helloword'
#索引    012345678
#從頭標開始每次走兩步的話,也就是取02468這些索引的值
print(name [0:9:2])
結果:
hlood

二、字符串詳解

1.大小寫轉換

命令格式:

  • 換大寫 :變量名.upper()
  • 換小寫 :變量名.lower()
換大寫  例:
a=yang
a1=a.upper()
print(a1)
結果:
YANG

換小寫  例:
a=YANG
a1=a.lower()
print(a)
結果:
yang

舉例:讓登錄的驗證碼不區分大小寫

y_z_m = 'o98k'                                      #設置驗證碼
y_z_m_input = input("請輸入驗證碼(O98k)")             #用戶輸入驗證碼
new_y_z_m_input = y_z_m_input.lower()               #將用戶輸入的字符串換成小寫
if y_z_m == new_y_z_m_input:                        
    user = input('請輸入賬號:')
    pwd = input('請輸入密碼:')
    if user == 'yang' and pwd == '8520':
        print('登陸成功!')
    else:
        print('登錄失敗')

else:
    print('驗證碼錯誤!')

2.判斷以什么開頭

命令格式:

​ 變量名.startswith('要判斷的字符串')

​ 變量名.startswith('要判斷的字符串',上標,下標)

例:  
name = 'yang'
new_name = name.startswith('y')              #判斷是否為y開頭,寫入邏輯值
if new_name:                                 #此處new_name的值為True
    print('是以y開頭')
# 判斷這是不是字符串是不是以a開頭的




例:
name = 'yang'                                #可用索引指定區間
new_name = name.startswith('n',2,5)          #2和5分別為起始索引和終止索引
if new_name:
    print('是以n開頭')

# 我們可以指定從哪個位置開始哪個位置結束

3.判斷以什么結尾

命令格式:

​ 變量名.endswith('要判斷的字符串')

​ 變量名.endswith('要判斷的字符串',上標,下標)

例:
name = 'yang'
new_name = name.endswith('g')
if new_name:
    print('是以g結尾')
# 判斷這是不是字符串是不是以x結尾的

name = 'yang'
new_name = name.endswith('g',2,5)
if new_name:
    print('是以g結尾')
# 判斷這是不是字符串是不是以x結尾的

4.統計出現的次數

命令格式:

​ 變量名.count('要判斷的字符串')

例:
name = 'yanglang'
new_name = name.count('a')
print(new_name)

# 統計name這個字符串中a出現的次數

5.字符串替換

命令格式:

​ 變量名.replace('被換','要換',換的個數)

例:
name = 'yanglang'
new_name = name.replace('a','b',1)           #把name中的a換成b,其中1是替換的次數(替換的個數)
print(new_name)
結果:
ybnglang
# 替換字符串中的內容以外 我們可以指定要替換的次數


例:
name = 'yanglang'
new_name = name.count('a')                    #統計a出現的次數(出現的個數)
nw_name = name.replace('a','b',new_name)      #把所有的a替換成b,
print(nw_name)

6.去除的頭尾兩端的空格,換行符,制表符

命令格式:

​ 變量名.strip()

例:
name = ' yanglang '                    # 注意!此處字符串兩頭是加了空格的
new_name = name.strip()                # 默認去除的頭尾兩端的空格,換行符,制表符 也可以自己指定
print(new_name)
# 去除頭尾倆遍的空格和換行符

7.分割字符串

命令格式:

​ 變量名.split(‘分割點’)

​ 變量名.split(‘分割點’,maxsplit=分割次數)

例:
name = 'yanglang'                        # 通過n將字符串name進行切割,將n作為切割點
new_name = name.split("n")               # 默認以空格,換行符,制表符分隔
print(new_name)
結果:
['ya','gla','g']                         # 切割后的內容是一個列表,把字符串切割成列表
                                         # print(type(變量名))可以輸出變量類型

例:
name = 'yanglang'
new_name = name.split("n",maxsplit=1)    # 此處的1是切割次數(或者說是切割幾個x)
print(new_name)
結果:
['ya','glang']

8.字符串格式化

例:
name = 'yanglang{}{}'                         #這里的{}是占位符
new_name = name.format('說的對','是的')         #可以按照順序去填充,也可以按照索引去填充,也可以按照關鍵字填充
print(new_name)


9.is系列

  • 判斷是否為十進制的數字 命令格式:變量名.isdecimal()
例:
name = 'yanglang'
new_name = name.isdecimal()               #此處輸入值為False
print(new_name)

# 判斷是不是十進制的數字,返回結果是布爾值
  • 判斷是否為數字、字母和中文 命令格式:變量名.isalnum()
例:
name = 'yanglang'
new_name = name.isalnum()                
print(new_name)

# 判斷是不是數字和字母以及中文,返回結果是布爾值
  • 判斷是否為純字母和中文 命令格式:變量名.isalpha()
例:
name = 'yanglang'
new_name = name.isalpha()
print(new_name)

# 判斷是不是純字母和漢字,返回的是布爾值

10.獲取字符串長度

命令格式:

​ len(變量名)

例:
name='yanglang'                  #字符串
name1=['a','b',[1,2,3]]          #列表
print(len(name))                 #結果為 8
print(len(name1))                #結果為 3

11.使用while循環打印單個元素

例:
name = "Meet"
count = 0
while count < len(name):
    print(name[count])           #將變量值作為索引,輸出此索引的元素
    count = count + 1

12.for 循環

例:
name = "Meet"
for i in name:
    print(i)

for i in "Meet":
    print(i)

for循環, for是關鍵字 i是一個變量 后邊的name是要被循環的內容,他會把這個name指向的字符串里的每個元素打印出來

for循環是可以循環的數據結構:

  • 字符串(str)
  • 列 表(list)
  • 元 祖(tuple)
  • 字 典(dict)
  • 集 合(set)

唯獨不能進行循環的就是 整型(int)和布爾值(bool) #因為這兩種數據結構都是單個值

【補充】

1.字符串首字母大寫

命令格式:

​ 字符串.capitalize()

例:
a='asd'
a=a.capitalize()
print(a)                                              #輸出結果為 Asd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM