格式html
users = ["ji",1,3,"gyhj"]
公共方法算法
1.len #計算長度app
users = ["ji",1,3,"gyhj"] val = len(users) print(val) # 3
2.索引 #輸出某一個元素ide
users = ["ji",1,3,"gyhj"] val = users[1] print(val) # 1
3.切片 #輸出某一段元素函數
users = ["ji",1,3,"gyhj"] val = users[0:2] print(val) # "ji",1
4.修改(字符串/數字/布爾除外)ui
users = ["ji",1,3,"gyhj"] users[2] = 66 print(users) # ['ji', 1, 66, 'gyhj']
5.步長 #選取列表中第幾個元素spa
users = ["ji",1,3,"gyhj"] val = users[0:3:2] print(val) # ['ji', 3]
6.for循環3d
users = ["ji",1,3,"gyhj"]
for i in users:
print(i) # 每一個元素一次打印
"""
users = ["ji","asdgfh","tryu","gyhj"]
for i in users:
# 第一次循環:i=「ji」
for e in i:
print(e) # 打印第一個元素中每一個字符
"""
# 練習題:請經過for循環和數字計數器實現:users = ['李邵奇','利奇航','張三丰','李子森'] 1 qwe 2 asd 3 zxc 4 rty # 方式一 users = ['qwe','asd','zxc','rty'] count = 1 for i in users: print(count,i) count += 1 # 方式二 users = ['qwe','asd' ,'zxc','rty'] users_len = len(users) # 4 for index in range(0,users_len): # [0,1,2,3] print(index,users[index])
注意:for和while的應用場景:code
有窮盡優先使用for,htm
無窮盡用while
3.獨有方法
1.append,在列表的最後追加一個元素
# 示例 users = ["sdxfc"] while True: name = input('請輸入姓名:') users.append(name) print(users) # ['sdxfc', 'sdf']
2.insert #在指定索引位置進行插入元素
users = ['qwe','asd','zxc','rty'] users.insert(1,'zxc') print(users) # ['qwe', 'zxc', 'asd', 'zxc', 'rty']
3.remove # 刪除 注意:()裏不加刪除內容報錯
.pop # 刪除 注意:()裏不加數字,默認刪除最後一個
del # 刪除 注意:()裏不加數字報錯
.clear # 刪除列表裏全部元素 注意:()裏不能加數字
users = ["ji",1,3,"gyhj"] # 方式一 users.remove('ji') print(users) # [1, 3, 'gyhj'] # 方式二 users.pop(1) print(users) #['ji', 3, 'gyhj'] # 方式三 del users[1] print(users) #['ji', 3, 'gyhj'] # 方式四 users.clear() print(users) # []
注意:
字符串自己不能修改或刪除【不可變類型】
列表是【可變類型】
4.".reverse" #反轉
v1 = [1,2,3111,32,13] print(v1) # [1, 2, 3111, 32, 13] v1.reverse() print(v1) # [13, 32, 3111, 2, 1]
5."sort" # 排序
v1 = [1,2,3111,32,13] v1.sort(reverse=False) # 從小到大(默認) print(v1) # [11, 13, 22, 32, 3111] v1.sort(reverse=True) # 從大到小 print(v1) # [3111, 32, 22, 13, 11]
6.extend() 在列表末尾一次性追加另外一個序列中的多個值
list1 = ['Google', 'Runoob', 'Taobao'] list2=list(range(5)) # 建立 0-4 的列表 list1.extend(list2) # 擴展列表 print ("擴展後的列表:", list1) # 擴展後的列表: ['Google', 'Runoob', 'Taobao', 0, 1, 2, 3, 4]
4.總結
1.增:
.append / .insert
2.刪:
.remove / .pop /. clear / del users[2]
3.改:
users[3] = "新值"
4.查:
索引/切片
5.列表嵌套
users = ["a",0,True,[1,2,3,"kjhg"],[4,['sdf','dfg'],5,6]]
users[0] # a
users[2] # True
users[3][2] # 3
users[3][-1] # "kjhg"
users[3][-1][-1] # 'g'
users[3] = 666 # ['a', 0, True, 666, [4, ['sdf', 'dfg'], 5, 6]]
1.格式
users = [11,22,33] # 列表(元素可變)
users = (11,22,33) # 元組(元素不可變)
二、公共方法
1.索引(排除:int/bool)
users = (11,22,33)
print(users[0]) # 11
print(users[-1]) # 33
2.切片(排除:int/bool)
users = (11,22,33)
print(users[0:2])
3.步長(排除:int/bool)
users = (11,22,33,"qwerty")
print(users[0:2:2])
4.for循環(排除:int/bool)
users = (11,22,33,"qwerty")
for item in users:
print(item)
5.len(排除:int/bool)
users = (11,22,33,"qwerty")
print(len(users))
三、獨有方法(無)
四、 特殊
元組中的元素(兒子)不可被修改/刪除
# 示例一: v1 = (11,22,33) v1[1] = 999 # 錯誤 v1 = 999 # 正確 # 示例二:能夠嵌套 v1 = (11,22,33,(44,55,66),(11,2,(99,88,),3)) # 示例三:嵌套 v2 = [11,22,33,(11,22,33)] v2[-1][1] = 99 # 錯誤 v2[-1] = 123 # 正確 # 示例四:嵌套 v3 = (11,[1,2,3],22,33) v3[1] = 666 # 錯誤 v3[1][2] = 123
元組嵌套
# 錯誤示例
v3 = (11,[1,2,3],22,33)
v3[1] = 666
v3[1][2] = 123
1.字典含義
幫助用戶去表示一個事物的信息(事物是有多個屬性)。
基本格式
data = {鍵:值,鍵:值,鍵:值,鍵:值,鍵:值,鍵:值,}
# 練習題 userinfo = {'usenrame':'li','password':"xiangmin"} user = input('請輸入用戶:') pwd = input('請輸入密碼:') if userinfo['username'] == user and userinfo['password'] == pwd: print('登錄成功') else: print('用戶名或密碼錯誤')
2.獨有功能
info = {"name":'li','age':18,'gender':'男',}
1.".keys" ,獲取字典中全部的鍵
for item in info.keys():
print(item) #循環獲取字典中全部的鍵
2.".values" ,獲取字典中全部的值
for item in info.values():
print(item) #循環獲取字典中全部的鍵
3.".items" ,獲取字典中的全部鍵值對。
del info['gender']
print(info) # {'name': 'li', 'age': 18}
4.".get" ,函數返回指定鍵的值,若是值不在字典中返回默認值。
# 示例 一 dict = {'Name': 'Zara', 'Age': 27} print(dict.get('Age')) # 27 # 示例 二 dict = {'Name': 'Zara', 'Age': 27} print(dict.get('asd')) # None print(dict.get('asd',"123")) # 123
5.".update" ,更新,字典裏不存在增長/存在更新
# 示例 一 dict = {'Name': 'Runoob', 'Age': 7} a = {'Age':9} dict.update(a) print(dict) # {'Name': 'Runoob', 'Age': 9} # 示例 二 dict = {'Name': 'Runoob', 'Age': 7} dict2 = {'Sex': 'female'} dict.update(dict2) print("更新字典 dict :- ", dict)
6."del" ,刪除 -#鍵值對一個總體,要刪全刪
".pop" ,刪除
".clear",刪除(清空全部內容)
info = {"name":'li','age':18,'gender':'男',} # 方法一 del info['gender'] print(info) # {'name': 'li', 'age': 18} # 方法二 a = info.pop('name') print(info) # {'age': 18, 'gender': '男'} # 方法三 info.clear() print(info) # {}
3.公共功能
1.len
info = {"name":'li','age':18,'gender':'男',}
print(len(info)) # 3
2.索引
info = {"name":'li','age':18,'gender':'男',}
a = info['name']
b = info['age']
print(a) # li
print(b) # 18
3.for 循環
info = {"name":'li','age':18,'gender':'男',} for a in info.keys(): print(a) # 循環打印出全部鍵 for b in info.values(): print(b) # 循環打印出全部值 for c,d in info.items(): print(c,d) # 循環打印出全部鍵值
4.修改 #存在就修改/不存在就增長
# 改值 info = {"name":'li','age':18,'gender':'男',} info['age'] = 99 print(info) # {'name': 'li', 'age': 99, 'gender': '男'} # 改鍵 # 刪除後再增長 del info['gender'] print(info) # {'name': 'li', 'age': 18} info['asd'] = '123' print(info) # {'name': 'li', 'age': 18, 'asd': '123'}
1.集合含義
一個無序的不重複元素序列。
可使用大括號 { } 或者 set() 函數建立集合,注意:建立一個空集合必須用 set() 而不是 { },由於 { } 是用來建立一個空字典。
空集合:set()
基本格式
a = {1,2,3,4,5,6}
parame = {value01,value02,...}
# 或者
set(value01,value02,...)
2.獨有方法
1.".add()" ,添加:所添加值沒有原值輸出、新值增長
info = {"name",'li','age',18,'gender','男',} info.add(11) print(info) # {'li', 11, 18, '男', 'gender', 'age', 'name'}
2.".discard()" ,刪除:所刪除值沒有原值輸出、不會報錯
info = {"name",'li','age',18,'gender','男',} info.discard(18) print(info) #{'男', 'li', 'name', 'age', 'gender'}鍵
3.".update()" ,批量添加。
info = {"name",'li','age',18,'gender','男',} del info['gender'] print(info) # {'name': 'li', 'age': 18}
4.".intersection()" ,交集:生成新值。括號裏能夠列表、集合、元祖。
info = {"name",'li','age',18,'gender','男',} result = info.intersection({1,'li','男'}) print(result) # {'li', '男'}
5.".union()" ,並集:生成新值。括號裏能夠列表、集合、元祖。
info = {"name",'li','age',18,'gender','男',} result = info.union({1,'li','男'}) print(result) # {'gender', 1, '男', 18, 'name', 'age', 'li'}
6.".difference()" ,差集:生成新值。括號裏能夠列表、集合、元祖。
info = {"name",'li','age',18,'gender','男',} result = info.difference({1,'li','男'}) print(result) # {'name', 18, 'age', 'gender'}
info = {"name",'li','age',18,'gender','男',} result = info.symmetric_difference({1,'li','男'}) print(result) # {1, 'name', 'gender', 18, 'age'}
3.公共方法
len
info = {"name",'li','age',18,'gender','男',}
print(len(info)) # 6
for 循環
info = {"name",'li','age',18,'gender','男',}
for a in info:
print(a) # 循環打印出全部元素
4.特殊狀況
一、集合與列表取交集
info = {"name",'li','age',18,'gender','男',}
result = info.intersection([1,'li','男'])
print(result) # {'li', '男'} # {'li', '男'}
2.集合中出現0與False(誰在前輸出誰)
info = {0, 2, 3, 4, False, "國風", None, (1, 2, 3)}
print(info) # {0, '國風', 2, 3, 4, None, (1, 2, 3)}
3.字典中1與Ture同時爲鍵(誰在前把後面值賦給前面的鍵)
info = { 1:'alex', True:'oldboy' } print(info) # {1: 'oldboy'}
5.總結
列表/字典/集合 -> 不能放在集合中+不能做爲字典的key(unhashable)