pythonday06数据类型(四)
今日内容
1.集合
2内存相关
1.集合set
- 无序
- 无重复(可以去重)
v = {1,2,3,4,5,6,99,100} # 疑问:v = {}
"""
None
int
v1 = 123
v1 = int() --> 0
bool
v2 = True/False
v2 = bool() -> False
str
v3 = ""
v3 = str()
list
v4 = []
v4 = list()
tuple
v5 = ()
v5 = tuple()
dict
v6 = {}
v6 = dict()
set
v7 = set()
"""
- 集合独有功能
add
# v = {1,2}
# v.add('Lishaoqi')
# v.add('Lishaoqi')
# print(v)discard
# v = {1,2,'李邵奇'}
# v.discard('李邵奇')
# print(v)update
# v = {1,2,'李邵奇'}
# v.update({11,22,33})
# print(v)intersection
# v = {1,2,'李邵奇'}
# result = v.intersection({1,'李邵奇','小黑'})
# print(result)union
# v = {1,2,'李邵奇'}
# result = v.union({1,'李邵奇','小黑'})
# print(result)difference
# v = {1,2,'李邵奇'}
# result = v.difference({1,'李邵奇','小黑'}) # v中有且{1,'李邵奇','小黑'}没有
# print(result)# v1 = {1,'李邵奇','小黑'}
# result1 = v1.difference({1,2,'李邵奇'})
# print(result1)symmetric_difference
# v = {1,2,'李邵奇'}
# result = v.symmetric_difference({1,'李邵奇','小黑'})
# print(result)
- 公共功能
len
v = {1,2,'李邵奇'}
print(len(v))- for循环
# v = {1,2,'李邵奇'}
# for item in v:
# print(item) - 索引【无】
- 步长【无】
- 切片【无】
- 删除【无】pop,随机删除
- 修改【无】不能删除
- 嵌套问题
# 1. 列表/字典/集合 -> 不能放在集合中+不能作为字典的key(unhashable)
# info = {1, 2, 3, 4, True, "国风", None, (1, 2, 3)}
# print(info)
# 2. hash -> 哈希是怎么回事?
# 因为在内部会将值进行哈希算法并得到一个数值(对应内存地址),以后用于快速查找。 # 3. 特殊情况
# info = {0, 2, 3, 4, False, "国风", None, (1, 2, 3)}
# print(info) # info = {
# 1:'alex',
# True:'oldboy'
# }
# print(info)
2.内存相关
示例一
v1 = [11,22,33]
v2 = [11,22,33] v1 = 666
v2 = 666 v1 = "asdf"
v2 = "asdf" # 按理 v1 和 v2 应该是不同的内存地址。特殊:
1. 整型: -5 ~ 256
2. 字符串:"alex",'asfasd asdf asdf d_asdf ' ----"f_*" * 3 - 重新开辟内存。
示例二
v1 = [11,22,33,44]
v1 = [11,22,33]
示例三
v1 = [11,22,33]
v2 = v1 # 练习1 (内部修改)
v1 = [11,22,33]
v2 = v1
v1.append(666)
print(v2) # 含 666 # 练习2:(赋值)
v1 = [11,22,33]
v2 = v1
v1 = [1,2,3,4]
print(v2) # 练习3:(重新赋值)
v1 = 'alex'
v2 = v1
v1 = 'oldboy'
print(v2)
示例四
v = [1,2,3]
values = [11,22,v] # 练习1:
"""
v.append(9)
print(values) # [11,22,[1,2,3,9]]
"""
# 练习2:
"""
values[2].append(999)
print(v) # [1, 2, 3, 999]
"""
# 练习3:
"""
v = 999
print(values) # [11, 22, [1, 2, 3]]
"""
# 练习4:
values[2] = 666
print(v) # [1, 2, 3]
示例五
v1 = [1,2]
v2 = [2,3] v3 = [11,22,v1,v2,v1]
查看内存地址
"""
v1 = [1,2,3]
v2 = v1
v1.append(999)
print(v1,v2)
print(id(v1),id(v2))
""" """
v1 = [1,2,3]
v2 = v1
print(id(v1),id(v2))
v1 = 999
print(id(v1),id(v2))
"""
问题: == 和 is有什么区别?
== 用于比较值是否相等。
is 用于比较内存地址是否相等。
pythonday06数据类型(四)的更多相关文章
- Day1---Java 基本数据类型 - 四类八种 --九五小庞
一.Java四大数据类型分类 1.整型 byte .short .int .long 2.浮点型 float . double 3.字符型 char 4.布尔型 boolean 二.八种基本数据类型 ...
- js检测数据类型四种办法
面试题中经常会考js数据类型检测,今天我来分享一下js中常用的四种方法判断数据类型,欢迎指点更正. 废话不多说,直入正题. 1.typeof console.log(typeof "&quo ...
- java的基本数据类型--四类八种
java的数据类型 1.分为基本数据类型和引用数据类型 基本数据类型的分类:整数型: byte 占用一个字节 范围-128-127 short 占用两个字节 -2^15~2^15-1 int ...
- python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝
1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...
- Python基础数据类型(四) tuple元祖
元祖tuple(,) 元祖就是不可变的列表 元祖用()表示,元素与元素之间用逗号隔开,数据类型没有限制 tu = ('科比','詹姆斯','乔丹') tu = tuple('123') 小括号中 有一 ...
- Py西游攻关之基础数据类型(四)-字典
Py西游攻关之基础数据类型 - Yuan先生 https://www.cnblogs.com/yuanchenqi/articles/5782764.html 七 Dictionary(字典) 字典是 ...
- 6、数据类型四:sets
集合的基本特征:无序,唯一. 一个redis集合最多能存放232-1个集合元素.其强大之处在于它支持集合的“交.差.并”运算,而且能够快速的判断某个给定值是否在集合中. 1.基本命令: SADD ke ...
- MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)
一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...
- JAVA基础篇NO2--Java中的基本命名规则及数据类型
1.Java中的常量及进制 1.常量: 在程序运行的过程中,不可以改变的量,就是常量 boolean类型的值只能是true或者false null: 空常量, 代表不存在! ------------- ...
随机推荐
- [网络协议]TCP粘包分析
关于socket粘包,socket缓冲区设置的问题,记录一下: 一 .两个简单概念长连接与短连接: 长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送 ...
- Tensorflow教程(1)Tensorflow的下载和安装
人工智能已经成为了目前的大趋势,作为程序员的我们也应该跟着时代进步.Tensorflow作为人工智能领域的重要工具,被广泛的使用在机器学习的应用当中. Tensorflow使用人数众多.社区完善,所以 ...
- Linux命令学习-mkdir命令
Linux中,mkdir命令的全称是make directory,即创建目录的意思. 假设当前处于wintest用户的主目录,路径为 /home/wintest ,存在文件夹testA,进入testA ...
- 彻底搞清楚c#中的委托和事件
一.什么是委托呢? 听着名字挺抽象,确实不好理解.面试官最喜欢考察这个,而且更喜欢问:“委托和事件有何异同?”.如果对一些知识点没有想明白,那么很容易被绕进去.研究任何事物,我们不妨从它的定义开始,委 ...
- 数据库系统概念:基础的SQL
public class DataBase { public static void main() { } } /* 3.1 SQL查询语言概览 SQL语言有一下几个部分: 数据定义语言:提供定义关系 ...
- android开发--使用webView加载tel协议不会打开拨号盘解决
在加载url之前进行判断,url是否是tel协议开头,然后进行加载,即可打开拨号盘 mWebView.setWebViewClient(new WebViewClient() { @Override ...
- [leetcode] 263. Ugly Number (easy)
只要存在一种因数分解后,其因子是2,3,5中的一种或多种,就算是ugly数字. 思路: 以2/3/5作为除数除后,最后结果等于1的就是ugly数字 Runtime: 4 ms, faster than ...
- LiteDB源码解析系列(1)LiteDB介绍
最近利用端午假期,我把LiteDB的源码仔细的阅读了一遍,酣畅淋漓,确实收获了不少.后面将编写一系列关于LteDB的文章分享给大家,希望这么好的源码不要被埋没. 1.LiteDB是什么 这是一个小型的 ...
- get 请求和post请求的具体区别
get请求是向服务器索要数据,post请求是向服务器传送数据 的,浏览器限制了get的传送量,post可以大量的把数据传给 服务器,一般情况下get请求,请求体是空的,请求只发一次 ,如果是post请 ...
- zabbix3.4用Python脚本Excel批量导入主机
1.安装xlrd读取Excel文件 1.1. 下载setuptools-38.2.4.zip,上传至zabbix服务器解压安装,下载地址:https://pypi.python.org/package ...