一、字符串容器(string)
1.#for循環遍歷字符串 My_str = 'hi,你好' for v in My_str: print(v,end='')
輸出:

2.#replace替換函數 my_string = '尋尋覓覓,冷冷清清,柒柒慘慘戚戚' print(my_string) #還未替換前 print(my_string.replace('柒','凄',2)) #替換后重新生成一個字符串,2代表替換兩次
輸出結果:
字符串(string)特點:
1、字符串一旦定義不允許修改(賦值)
2、字符串容器里面的元素都是字符類型
字符串切片案例:(切片語法:左閉右開)
#-----------------------------方法一(find) email = 'chenroubao@IT.com' #如果查找到,返回子串第一次出現的位置;找不到就返回-1 position = email.find('@') if position == -1: print('不存在@!') else: left = email[:position] right = email[position+1:] print('左邊是:',left) print('右邊是:',right) print('逆序輸出:',email[::-1])#-------逆序輸出
輸出結果:

#--------------方法二(split) email = 'chenroubao@IT.com' count = email.count('@') if count == 1: result = email.split('@') print('左邊是:',result[0]) print('右邊是:',result[1]) else: print('郵箱不合法!')
輸出結果:

二、列表容器(list)
1 #插入刪除函數 2 my_list = [] 3 4 #append在尾部插入元素 5 my_list.append(1) 6 my_list.append(2) 7 my_list.append(3) 8 my_list.append(4) 9 print(my_list) #[1,2,3,4] 10 #insert 在指定位置插入 11 my_list.insert(2,1) 12 print(my_list) #[1,2,1,3,4] 13 #pop 用於位置刪除,默認刪除最后一個元素 14 my_list.pop() 15 print(my_list) #[1,2,1,3] 16 my_list.pop(3) 17 print(my_list) #[1,2,1] 18 #remove 根據值刪除,默認刪除第一個出現的值 19 my_list.remove(1) 20 print(my_list) #[2,1] 21 #clear 清空 22 my_list.clear() 23 print('列表長度:',len(my_list)) #列表長度:0
1 #排序函數 2 #產生10個隨機數 3 import random 4 list = [] 5 i = 0 6 while i < 10: 7 random_shu = random.randint(1,10) 8 list.append(random_shu) 9 i += 1 10 print(list) 11 #sort排序 默認升序 (設置reverse=True降序) 12 list.sort() 13 print(list) 14 #reverse逆序輸出 15 list.reverse() 16 print(list)

#extend擴大 用於兩個list合並 list = [1,2] list2 = [3,4] list.extend(list2) print(list) #輸出:[1,2,3,4]
列表(list)優缺點:
優點:
支持位置刪除(尾部刪除、指定位置刪除)和值刪除
尾部插入和刪除效率更高,原因是:不需要移動元素
指定位置插入和刪除效率較低,原因是:需要移動元素,元素越多,效率越低
缺點:
查找效率低(列表是序列式存儲的,假如查找的元素位置在最后,那相當於把整個列表都查了一遍才找的出來,所以效率低。)
但是指定位置的查找效率是高的。
三、元祖(tuple)
#元祖的定義 tuple = ((1,),) print(tuple) #輸出: ((1,))
元祖(tuple)特點:
不支持修改,只支持遍歷、查找
元祖內只有一個元素時,加,(逗號)
元祖比列表更節省空間
元祖是序列式容器,支持索引、切片操作
四、字典(dict)
def test(): #字典定義 my_dict = {'name':'obama','age':18,'sex':'男'} print(my_dict.get('name1','key不存在,這里是默認值')) #key不存在,就添加元素;存在就是修改元素 my_dict['score'] = 100 print(my_dict) test()
輸出結果:
1 #字典遍歷 2 my_dict = {'name':'obama','age':18,'sex':'男'} 3 for val in my_dict: 4 print(val) #輸出鍵,沒有值 5 key = my_dict.keys() 6 print(list(key)) #按列表輸出鍵 7 val = my_dict.values() 8 print(list(val)) #按列表輸出值 9 key_value = my_dict.items() 10 print(list(key_value)) #輸出鍵值對 11 for keyval in key_value: 12 print('key:',keyval[0],'value:',keyval[1])
輸出結果:

1 # while循環遍歷字典 2 my_dict = {'name':'obama','age':18,'sex':'男'} 3 list = list(my_dict.items()) 4 i = 0 5 while i < len(list): 6 print('key:',list[i][0],'value:',list[i][1]) 7 i += 1
輸出結果:

字典(dict)特點:
字典是非序列式容器,不支持索引、切片
查找效率高,空間占用較大。以空間換時間