day 08

可变和不可变

可变和不可变是针对数据类型而言的

按照存值个数划分

存一个值(数字类型/字符串)/存多个值(列表/字典)

数字类型

字符串

列表

字典

不可变类型

x=10  # 定义变量就好开辟一块新的内存空间存放变量
print(id(x))  # 1651339008
x=x+1  # x=11
print(id(x))  # 1651339040

可变类型

lt=[1]
print=(id(lt))   # 2493475841480
lt.append(2)
print(lt)
print(id(lt))    # 2493475841480
dic={'a':6}      # 2740179328528
print(id(dic))   
dic.update({'b'}:6)
print(id(dic))   # 2740179328528

可变: 列表/字典 ----》值变id不变

不可变: 数字/字符串 ----》值变id也变

列表的内置方法

# 列表的内置方法只能给列表用
lt=[1,2,3]

# 1.索引取值/索引修改值
lt[0]=2
print(lt)

# 2.索引切片
print(lt[0:1])

# 3.成员运算 in/not in
print(2 in lt)
print(2 not in lt)  # 返回ture----》返回Ture

# 4.for循环
for i in lt:
    print(i)

# 5.长度len
print(len(lt))

# 6.append(): 追加值
print(len(lt))

# 不要去理解为什么,先死记,涉及下周讲的函数的返回值
s='tank sb'
s=s.replace('sb','dsb')
print(s)

lt.append(4)
print(lt)

# 7.sort(): 排序
lt=[2,3,1]
lt.sort()
print(lt)

lt=['pa','bcnzhuren','asdf','sdfffffffffffff']  # 按照首字母的拼音顺序
lt.sort() # i相当于列表里的每一个元素
# lt.sort(key=lambda i:i[1])  # i相当于列表中的每一个元素 
print(lt)

# 8.reverse(): 反转
lt=[1,2,3]
lt.reverse()
print(lt)

# 9.index(): 获取元素索引 
print(lt.index(2))

# 10.clear(): 清空列表
lt.clear()
print(lt)

# 11.copy(): 复制
lt=[1,2,3]
lt1=lt.copy()
print(lt1)

# 12.extend(): 扩展列表
lt1=[1,2,3]
lt2=[1,5,6]
lt1.extend(lt2)  # 只能加列表
print(lt1)

# 13.remove(): 移除
lt=[1,2,3]
lt.remove(3)
print(lt)

# 14.insert():按照索引插入值
lt=[1,2,3]
lt.insert(0,1.5) # 在前面插入 0表示索引,1.5为插入的值
print(lt)

[TOC]

字典的内置方法

# 字典的内置方法:字典自己使用
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', 150))  # 找到了就找了;没有值返回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()

# 考察一个人平常在干什么-->每天在敲代码--》快捷键使用的熟练度
# file edit view navigate code refactor run tools vsc window help
print('zieniubi,woduoniubi')

猜你喜欢

转载自www.cnblogs.com/colacheng0930/p/11435280.html