列表和字典的内置方法
1.可变与不可变
每个变量一个都有自己的内存地址,内存地址有id,
(1)可变类型
-
若一个变量的变量值发生变化,但其内存地址的ID不变,则这个变量是可变类型
(即值变id不变)
可变:列表,字典
(2)不可变类型
-
若一个变量的变量值发生变化,但其内存地址id也发生变化,则这个变量是不可变类型
(即值变id变)
不可变:数字,字符串
2.列表的常用内置方法
描述 | 举例 | |
---|---|---|
1 | 索引取值 | lis[0] |
2 | 索引切片(顾头不顾尾) | lis[0:3:1] |
3 | 成员运算 ' 某某 ' in/not in 列表 | print(2 in lis)/print(2 not in lis) |
4 | 长度 len() | len(lis) |
5 | for循环 | for i in lis: |
下面全是列表的 点 方法 | ||
6 | 追加值 append() | lis.append('gg')顺序排序 |
7 | 排序(按首字母或数字顺序)(纯字母或纯数字) sort() | lis.sort()顺序排序 |
8 | 反转 reverse() | lis.reverse()单独一行 |
9 | 获取元素索引 index() | lis.index('gg') |
10 | 清空列表 clear(0) | lis.clear() |
11 | 复制 copy() | lis1=lis.copy() |
12 | 扩展列表 ,只能加列表 extend() | lis1=[1] lis2=[2] lis1.extend(lis2) |
13 | 移除 remove() | lis.remove('gg') |
14 | 按照索引插入值,是在索引对于元素的前面插入 insert() | lis.insert(0,'gg') |
3.字典的常用内置方法
banzhuren_info_dic = {'name': 'guolaoshi', 'height': 150, 'weight': 130,
'hobby_list': ['jiao', 'tiao', 'music']}
# 1. 按key取值/按key修改值/按key增加值
print(banzhuren_info_dic['height'])
banzhuren_info_dic['height'] = banzhuren_info_dic['height'] + 1
print(banzhuren_info_dic['height'])
banzhuren_info_dic['age'] = 30
print(banzhuren_info_dic)
# 2. 成员运算(比较的是key)
print('age' in banzhuren_info_dic) # key里没有18
# 3. for循环(对key循环)
for i in banzhuren_info_dic:
print(i)
# 4. keys()/values()/items() --> 当作列表
print(banzhuren_info_dic.keys()) # 所有的key
print(banzhuren_info_dic.values()) # 所有的值
print(banzhuren_info_dic.items()) # 所有的键值对(以列表存储)
for i in banzhuren_info_dic.items():
print(i[0] + '*****' + str(i[1]))
# 5. get(): 取值
# print(banzhuren_info_dic['height1'])
print(banzhuren_info_dic.get('height', 152)) # 找到了就打印值;没有值返回None,如果给定了150,没有找到就150
# # 购物车没有的话为1,有的话加1
# shopping_car = {}
#
# if shopping_car.get('wawa'): # none
# shopping_car['wawa'] = shopping_car['wawa'] + 1
# else:
# shopping_car['wawa'] = 1
# print(shopping_car)
# # 6. update(): 扩展字典
# dic1 = {'a':1}
# dic2 = {'b':2}
# dic1.update(dic2)
# print(dic1)
# 7. setdefault(): 有则不更改,没有则增加
dic1 = {'a': 1}
dic1.setdefault('a', 2)
print(dic1)
# 能够刷leetcode的时候想到
dic1.update()