可变和不可变

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

按照存值个数划分

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

数字类型

字符串

列表

字典

不可变类型

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)

字典的内置方法

# 字典的内置方法:字典自己使用
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')

day 08 预科的更多相关文章

  1. day 08作业 预科

    有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中 lt=[11,22,3 ...

  2. iOS系列 基础篇 08 文本与键盘

    iOS系列 基础篇 08 文本与键盘 目录: 1. 扯扯犊子 2. TextField 3. TextView 4. 键盘的打开和关闭 5. 打开/关闭键盘的通知 6. 键盘的种类 7. 最后再扯两句 ...

  3. javaEE基础08

    javaEE基础08 一.继承 特点:继承父类的属性和方法,单继承(多继承) 特性:方法的复写(重写) 比如:人可以养狗 人------>狗:整体和部分(拥有)关系 关键字:extends 结构 ...

  4. 【玩转单片机系列001】 08接口双色LED显示屏驱动方式探索

    前些日子,从淘宝上购得一块08接口的双色LED显示屏(打算做个音乐频谱显示器),捣鼓了好几天,终于搞清楚了其控制原理,在这里做个总结,算是备忘吧. 1.LED显示屏的扫描方式 LED显示屏的扫描方式有 ...

  5. 《HelloGitHub月刊》第08期

    <HelloGitHub>第08期 兴趣是最好的老师,<HelloGitHub>就是帮你找到兴趣! 简介 最开始我只是想把自己在浏览GitHub过程中,发现的有意思.高质量.容 ...

  6. Spring Security(08)——intercept-url配置

    http://elim.iteye.com/blog/2161056 Spring Security(08)--intercept-url配置 博客分类: spring Security Spring ...

  7. [DFNews] EnCase v7.08发布

    EnCase v7.08 近日正式发布,7.08增加了Evidence Processor Manager以及Evidence Processor,不仅可以在本地实现证据处理队列,也支持了通过网络进行 ...

  8. 【博客美化】08.添加"扩大/缩小浏览区域大小" 按钮

    博客园美化相关文章目录: [博客美化]01.推荐和反对炫酷样式 [博客美化]02.公告栏显示个性化时间 [博客美化]03.分享按钮 [博客美化]04.自定义地址栏logo [博客美化]05.添加Git ...

  9. JavaScript学习08 Cookie对象

    JavaScript学习08 Cookie对象 JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cooki ...

随机推荐

  1. mqtt概念整理

    运行模式: 服务器: emqx (https://docs.emqx.io/edge/v3/cn/install.html) 协议头字节数: 2个字节 三种消息可能性保障(Qos): Qos0:最多一 ...

  2. java多线程(二)线程的生命周期

    1.   线程生命周期 新建(New).就绪(Runnable).运行(Running).阻塞(Blocked)和死亡(Dead)5种状态. 1.1. 新建 l  new关键字创建了一个线程之后,该线 ...

  3. springMVC返回json数据乱码问

    在springMVC controller中返回json数据出现乱码问题,因为没有进行编码,只需要简单的注解就可以了 在@RequestMapping()中加入produces="text/ ...

  4. 各种转码(bytes、string、base64、numpy array、io、BufferedReader )

    bytes 与 string 之间互转 Python3 最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是 Unicode,由str类型表示,二进制数据则由 bytes 类型表示. ...

  5. Xcode中opengl的配置

    1. GLUT + GLTools + SDL2 Frameworks Search Paths :Framework + Library ( $(PROJECT_DIR)/build ) Searc ...

  6. Windows10 下安装 oracle 客户端,安装 plsql 破解并实现汉化

    一,软件准备 1,win10 操作系统 2,oracle_11g_r2 client 这里是 64 位的软件  3, plsql 11.0.6 这里我们下载 64 的,32 位操作系统现在已经很少了, ...

  7. (转) C#使用ODP.NET(Oracle.ManagedDataAccess.dll)操作Oracle数据库

    原贴链接:https://www.cnblogs.com/mq0036/p/11052359.html C#使用ODP.NET(Oracle.ManagedDataAccess.dll)操作Oracl ...

  8. net core 环境部署的坑

    1.supervisor “no such file” error. 检查指令是否正确,路径.dotnet环境是否正常 2.Couldn‘t find a valid ICU package inst ...

  9. 理解 Node.js 的 GC 机制

    <深入浅出Node.js>第五章<内存控制>阅读笔记 随着 Node 的发展,JavaScript 的应用场景早已不再局限在浏览器中.本文不讨论网页应用.命令行工具等短时间执行 ...

  10. [BZOJ4382][POI2015]Podział naszyjnika (神奇HASH)

    [问题描述]    长度为n 的一串项链,每颗珠子是K 种颜色之一.第i 颗与第i-1,i+1 颗珠子相邻,第n 颗与第1 颗也相邻.    切两刀,把项链断成两条链.要求每种颜色的珠子只能出现在其中 ...