可变和不可变
可变和不可变是针对数据类型而言的
- 可变:值变了,地址也变了,说明原来的地址不能存储新的值
- 数字类型
- 字符串类型
- 元组类型(只读列表,元组中元素不可修改)
- 不可变:值变了,地址没变,说明原来的地址可以存储新的值
- 列表类型
- 字典类型
列表内置方法
只能给列表用。
索引取值/索引修改值
lt = [1, 2, 3] lt[0] = 2 print(lt) #[2, 2, 3]
索引切片
lt = [1, 2, 3] print(lt[0:1]) # (左闭右开)(0到1,步长默认为1) # [2]
成员运算:in / not in
lt = [1, 2, 3] print(2 in lt) # True print(2 not in lt) # False # 返回true(×)--》 返回True
for循环
lt = [1, 2, 3] for i in lt: print(i) ''' 1 2 3 '''
长度:len()
lt = [1, 2, 3] print(len(lt)) # 3
追加值:append()
lt = [1, 2, 3] lt.append(4) print(lt) # [1, 2, 3, 4]
排序:sort()
lt = [2, 3, 1] lt.sort() print(lt) # [1, 2, 3] lt = ['pa', 'bcnzhuren', 'asdf', 'sdfffffffffffffffffffffffffffff'] # 按照首字母的拼音顺序 lt.sort() # i相当于列表里的每一个元素, # lt.sort(key=lambda i: i[1]) # i相当于列表里的每一个元素, print(lt) # ['asdf', 'bcnzhuren', 'pa', 'sdfffffffffffffffffffffffffffff']
反转:reverse()
lt = [1, 2, 3] lt.reverse() print(lt) # [3, 2, 1]
获取元素索引:index()
lt = [1, 2, 3] print(lt.index(2)) # 1
清空列表:clear()
lt = [1, 2, 3] lt.clear() print(lt) # []
复制:copy()
lt = [1, 2, 3] lt1 = lt.copy() print(lt1) # [1, 2, 3]
扩展列表:extend()
lt1 = [1, 2, 3] lt2 = [1, 5, 6] lt1.extend(lt2) # 只能加列表 print(lt1) # [1, 2, 3, 1, 5, 6]
移除:remove()
lt = [1, 2, 3] lt.remove(3) # 括号里为要移除的值 print(lt) # [1, 2]
按照索引值插入:insert()
lt = [1, 2, 3] lt.insert(0, 1.5) # 在前面插入 0表示索引,1.5插入的值 print(lt) # [1.5, 1, 2, 3]
字典内置方法
只能字典用。
按key取值/按key修改值/按key增加值
dic = {'a':1,'b':2,'c':3,'d':['唱','跳','rap','篮球']} print(dic['d']) # ['唱', '跳', 'rap', '篮球'] dic['a'] = dic['a'] + 6 print(dic['a']) # 7 dic['w'] = 696969 print(dic) # {'a': 7, 'b': 2, 'c': 3, 'd': ['唱', '跳', 'rap', '篮球'],'w': 696969}
成员运算(比较的是key)
dic = {'a':1,'b':2,'c':3,'d':['唱','跳','rap','篮球']} print('a' in dic) # True
for循环(对key循环)
dic = {'a':1,'b':2,'c':3,'d':['唱','跳','rap','篮球']} for i in dic: print(i) ''' a b c d '''
keys()/values()/items()
dic = {'a':1,'b':2,'c':3,'d':['唱','跳','rap','篮球']} print(dic.keys()) # 所有的key print(dic.values()) # 所有的值 print(dic.items()) # 所有的键值对(以列表存储)(元组) ''' dict_keys(['a', 'b', 'c', 'd]) dict_values([7, 2, 3, ['唱', '跳', 'rap', '篮球']]) dict_items([('a', 7), ('b', 2), ('c', 3), ('d', ['唱', '跳', 'rap', '篮球'])]) ''' for i in dic.items(): print(str(i[0]) + '***' + str(i[1])) # i里面就两个元素 ''' a***7 b***2 c***3 d***['唱', '跳', 'rap', '篮球'] '''
取值:get()
dic = {'a':1,'b':2,'c':3,'d':['唱','跳','rap','篮球']} print(dic['b']) # 2 print(dic.get('b', 2)) # 2 (找到了就找了;没有值返回None,如果给定了2,没有找到就2)
扩展字典:update()
dic1 = {'a':1} dic2 = {'b':2} dic1.update(dic2) print(dic1) # {'a': 1, 'b': 2}
更改,有则不更改,没有则增加:setdefault()
dic1 = {'a': 1} dic1.setdefault('a', 2) print(dic1) # {'a': 1}