1. 程式人生 > >字串、列表、元組、字典每個常用的方法-------玉米都督

字串、列表、元組、字典每個常用的方法-------玉米都督

一、知識概要

  1. 列表,元組,字典,字串的建立方式

  2. 列表,元組,字典,字串的方法呼叫

  3. 列表,元組,字典,字串的常規用法

二、列表

# 列 表

# 列表基礎
list_1 = ['a','b','c','d','e','f']
list_2 = ['apple','banana','watermelon','strawberry','banana','apple']
print(list_1)
print("##########")
# 列表得下標是從0開始的,之後的一次+1
print(list_1[0])
print("##########")
print(list_1[4])
print("##########")
print(list_1[1:3]) # 從下標為1的元素開始,到下標為3的終止
print("##########")
print(list_1[1:-2])   # -2是指將列表的順序倒置,結尾變為開頭,下標相對來說變為0向前依次 -1
print("##########")
print(list_1[::2]) # 前面兩個冒號分別使用預設的引數,最後一個數字表示步長,兩步一取
print("##########")

# 列表的增、刪、改
list_1.append('z') # 在結尾加一個元素
print(list_1)
print("##########")
list_1.insert(1,'y')  # 在指定位置增加元素,在a後b前插入y
print(list_1)
print("##########")
a = list_2.extend(list_1)    # 將list_1和list_2合併
print(a)
print("##########")
list_1[4] = 'o'   # 修改第五個元素
print(list_1)
print("##########")
list_1[2:3] = ['p','q']   # 修改連續的元素
print(list_1)
print("##########")
list_1.remove(list_1[3])    # 刪除下標為3的元素
print(list_1)
print("##########")
list_1.pop(2)    # 直接加下標
print(list_1)
print("##########")
# del list_1[2]  刪除列表中的下標為2的元素
# del list_1   直接刪除掉列表

# 列表的一些方法
# count
print(list_2.count('apple'))  # count是計算出現次數的方法
print("##########")

# index
print(list_2.index('banana'))    # 尋找banana在哪個位置
print("##########")
one_apple = list_2.index('apple')
print(one_apple)
list_3 = list_2[one_apple+1:]
two_apple = list_3.index('apple')
list_4_index = one_apple + two_apple +1
print(list_4_index)     # 輸出第二個位置
print("##########")

# reverse
list_1.reverse()  # 倒敘
print(list_1)
print("##########")

# sort
list_5 = [6,4,3,7,5,5,8,1]
list_5.sort()    # 排序(從小到大)
print(list_5)
print("##########")

# clear
list_5.clear()   # 清空列表
print(list_5)
print("##########")
三、元組

# 元 組
 tuple1 = (1,)    # 只有一個元素的話,後面加一個逗號,對之後的學習有所幫助
 tuple2 = (1,2,3,4,5)
 # tuple2[2] = 10  # 元組是不可修改的
四、字典

# 字 典

dictionary1 = {'country':'China','city':'beijing'}  # 建立字典(常用),前面為鍵,後面為鍵值
dictionary2 = dict((('city','shanghai'),))   # 建立字典
# 鍵是不可變型別:整型,字串,元組
# 可變型別有:列表,字典
print(dictionary1)
print(dictionary1['city'])
print(dictionary2)
# 字典兩大特點:無序,鍵值唯一
print("##########")


dictionary2['city'] = 'tianjin'   # 修改字典,增加內容
print(dictionary2)
print("##########")
return1 = dictionary2.setdefault('location','north')   # 增加內容,如果有則不做修改
print(dictionary2)
print(return1)   # 返回鍵值
print("##########")
print(dictionary1.keys())    # 檢視字典當中用那些鍵
print(list(dictionary1.keys()))   # 用列表的形式展示
print(dictionary1.values())   # 只檢視鍵值
print(dictionary1.items())   # 將字典當中的所有鍵值對拿出
print("##########")

dictionary3 = {1:1,2:2}
dictionary4 = {1:3,4:5,6:7}
dictionary3.update(dictionary4)   # 更新字典,如果有鍵相同,則更新鍵值;如完全沒有,則更新在後方
print(dictionary3)
print(dictionary4)
print("##########")

# 刪除字典
eg = dictionary3.popitem()   # 不加鍵,則會隨機刪除鍵值對
print(eg,'||',dictionary3)
dictionary4.pop(6)   # 刪除鍵為6的資訊
print(dictionary4)
del dictionary4[4]   # 刪除鍵為4的資訊
print(dictionary4)
dictionary4.clear()   # 清空字典,只留下框架輪廓
print(dictionary4)
print("##########")

dictionary5 = dict.fromkeys(['a','b','c'],['z','y'])   # 分配率,將後面最為一個整體
print(dictionary5)

dictionary5['b'][0] = 'x'  # 需要理解深淺拷貝
print(dictionary5)
print("##########")
print(sorted(dictionary5))   # 字典的排序
print(sorted(dictionary5.values()))   # 根據值排序
print("##########")

# 字典的遍歷
dictionary6 = {'num1':10,'num2':52,'num3':33}
# 效率較高
for i in dictionary6:
  print(i,dictionary6[i])
print("##########")
# 效率很低
for a,b in dictionary6.items():
  print(a,b)
print("##########")
五、字串

# 字串
str1 = '1'
str2 = "2"   # Python中單引號與雙引號沒什麼區別
print(str1)
print(str2)
print(str2*200)
str3 = 'asdqwezxc'
print(str3[2:])
print('as' in str3)   # 判斷此欄位是否在字串之中
print('aq' in str3)
print(str1+str2)    # 字串拼接(效率很低)
eg1 = '......'.join([str1,str2])  # 通過單引號的符號連線將要拼接的兩個字串
print(eg1)
print("##########")

# 字串內建方法
str4 = 'it is a bea\tutiful city 是 {name}\n'
print(str4.count('s'))   # 統計數目
print(str4.capitalize())    # 字串首字母大寫
print(str4.center(100,'-'))  # 居中(距離和符號)
print(str4.endswith('ful'))   # 以某個內容結尾
print(str4.startswith('it'))  # 以某個內容開始
print(str4.expandtabs(tabsize=20))   # 對\t的空格數改為20,預設為4
print(str4.find('b'))    # 查詢到的第一個元素,返回下標號
print("##########")
# 格式化輸出
print(str4.format(name = 'beijing'))  # 將name改為具體的名字
print(str4.format_map({'name':'shanghai'}))
print(str4.index('b'))   # 查詢索引值,和fund()相似,但是index找不到會報錯
print(str4.isalnum())    # 不常用,是否是數字,字母,中文
print(str4.isdecimal())   # 不常用,是否是十進位制的數
print(str4.isdigit())    # 是否為數字
print(str4.isnumeric())   # 是否為數字
print(str4.isidentifier())   # 是否為非法變數
print("##########")
print(str4.islower())    # 是否都是小寫
print(str4.isupper())    # 是否都是大寫
print(str4.isspace())    # 是否是個空格
print(str4.istitle())    # 每一個詞的首字母是否是大寫
print(str4.lower())     # 大寫全部變小寫
print(str4.upper())     # 小寫全部變大寫
print(str4.swapcase())   # 字母大小寫反轉
print(str4.ljust(100,':'))     # 向左對齊
print(str4.rjust(100,':'))     # 向右對齊
print("##########")
print(str4.strip())     # 去掉換行符,空格
print(123)     # 前面的換行符被去掉
print("##########")
print(str4.replace('city','城市'))    # 替換內容,也可以部分替換
print(str4.rfind('t'))   # 真實的索引位置
print(str4.split(' '))   # 字串的分割
print(str4.rsplit('b',1))  # 以右為準,以目標分割,分割一次