精华内容
下载资源
问答
  • js的数据类型常见隐式转化逻辑。 一、六种数据类型 原始类型(基本类型):按值访问,可以操作保存在变量中实际的值。原始类型汇总中null和undefined比较特殊。 引用类型:引用类型的值是保存在内存中的对象...

    javascript 六种数据类型

    js的数据类型和常见隐式转化逻辑。

    一、六种数据类型

    原始类型(基本类型):按值访问,可以操作保存在变量中实际的值。原始类型汇总中null和undefined比较特殊。

    引用类型:引用类型的值是保存在内存中的对象。

    * 与其他语言不同的是,JavaScript不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象。所以引用类型的值是按引用访问的。

    展开全文
  • js的数据类型常见隐式转化逻辑。一、六种数据类型原始类型(基本类型):按值访问,可以操作保存在变量中实际的值。原始类型汇总中null和undefined比较特殊。引用类型:引用类型的值是保存在内存中的对象。* 与其他...

    js的数据类型和常见隐式转化逻辑。

    一、六种数据类型

    437988ffefede225f503dbd8c525bdae.png

    原始类型(基本类型):按值访问,可以操作保存在变量中实际的值。原始类型汇总中null和undefined比较特殊。

    引用类型:引用类型的值是保存在内存中的对象。

    * 与其他语言不同的是,JavaScript不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象。所以引用类型的值是按引用访问的。

    二、隐式转换

    1、+和-

    巧用+和-规则转换类型

    把变量转换成数字:num-0;

    把变量转换成字符串:num+'';

    2、a==b

    7822c47cf55c427069253a1c3bc7f225.png

    类型相同,同===

    类型不同,尝试类型转换和比较:

    c333d4380992ae6d4e37a0375acde9d8.png

    3、a===b

    类型不同,返回false

    类型相同:

    10ea5f04d5ea842ebb063a2b2c1bb47d.png

    三、包装对象

    基本类型中的number,string和boolean都有对应的包装类型。

    523aee1f000b9abefcb317623c2fa675.png

    f55917219f8eb2e317bdcdbc02c78648.png

    把一个基本类型尝试用对象的方式使用它的时候,比如访问length属性,或者增加一些属性的操作时,javascript会把这些基本类型转化为对应的包装类型对象。完成这样一个访问比如a.length返回以后或者a.t设置了以后,这个临时对象会被销毁掉。所以a.t赋值3了以后,再去输出a.t值是undefined。

    ca4916ac29eae341f5f3ca3b71bd5fba.png

    str,number和true都有包装类型,所以可以把数字用括号括起来调用toString()方法

    8fb38e517e584a4f4f22e45df774509f.png

    四、类型检测

    javascript中类型检测方法有很多:

    typeof

    instanceof

    Object.prototype.toString

    constructor

    duck type

    1、typeof

    最常见的就是typeof:

    413ae5a3eb9591b7bc64040f9ad7d311.png

    比较特殊的是typeof null返回“object”。

    历史原因,规范尝试修改typeof null返回“null”修改完大量网站无法访问,为了兼容,或者说历史原因返回"object"。

    typeof对基本类型和函数对象很方便,但是其他类型就没办法了。

    判断一个对象是不是数组?用typeof返回“object”。对对象的判断常用instanceof。

    2、instanceof

    基于原型链操作。obj instanceof Object。

    左操作数为对象,不是就返回false,右操作数必须是函数对象或者函数构造器,不是就返回typeError异常。

    原理:判断左边的左操作数的对象的原型链上是否有右边这个构造函数的prototype属性。

    97623f47ce21b284bf6aea74a0356b68.png

    任何一个构造函数都有一个prototype对象属性,这个对象属性将用作new出来的对象的原型。

    bosn instanceof Person的时候发现bosn的原型也就是Student.prototype不等于Person.prototype,所以原型链还会向上查找,bosn的原型的原型等于Person.prototype所以返回true。

    91bcb37f82ea570cca4edc617fc401ac.png

    instanceof在判断对象是不是数组,Data,正则等时很好用。

    instanceof坑:不同window或iframe之间的对象类型检测不能使用instanceof!

    3、Object.prototype.toString

    d1ae38a231d3452459c089ff25b550ec.png

    需要注意的是IE6/7/8中 Object.prototype.toString.apply(null)返回“[object Object]”。

    4、constructor

    98f522a0aa06e1b08fb8aaf8fe4c61e6.png

    任何对象都有constructor属性,继承自原型的,constructor会指向构造这个对象的构造器或者构造函数。

    constructor可以被改写,所以使用要小心。

    5、duck type

    比如不知道一个对象是不是数组,可以判断它的length是不是数字,它是不是有join,push这样一些数组的方法。通过一些特征判断对象是否属于某些类型,这个有时候也常用。

    总结:

    8d4df87fce9dfc6f9369935ae02abdc8.png

    62f1a842fb648682038c549064a6c7a1.png

    6、如何检测一个变量是字符串

    有另外一种方法:将变量和空字符拼接后再和原来变量做全等判断

    var str="hello";

    var temp=str+'';

    temp===str

    //true

    展开全文
  • js的常见数据类型

    2018-11-15 15:17:35
    JavaScript常见的数据类型有哪些?如何准确检测数据类型?常见的引用类型有哪些? js有六种数据类型,包括五种基本类型(Number,String,Boolean,Undefined,Null)和一种复杂的数据类型(Object); js有三大引用...

    JavaScript常见的数据类型有哪些?如何准确检测数据类型?常见的引用类型有哪些?

    js有六种数据类型,包括五种基本类型(Number,String,Boolean,Undefined,Null)和一种复杂的数据类型(Object);

    js有三大引用类型,Object类型,Array类型,Function类型;

    由于js中的变量是松散类型的,所以可以通过关键字typeof关键字精确检测数据类型,如下所示:

    (1)var a=345;

    console.log(typeof(a));输出number;//number类型包括了整数和浮点数两种,isNaN()检测参数是否是非数值;

    (2)var a='asd';

    console.log(typeof(a));输出string;//转型函数String(),适用于任何类型,null和undefined转换之后不变,并且没有toString()方法;

    (3)var a=true;

    console.log(typeof(a));输出boolean;

    (4)var a;

    console.log(typeof(a));输出undefined;//使用了var声明了变量a,但是没有给他赋值,所以会输出undefined;

    (5)var a=null;

    console.log(typeof(a));输出object;//null类型被当做一个空对象引用;

    (6)var a={};

    console.log(typeof(a));输object;

    (7)var a=[];

    console.log(typeof(a));输object;

    (8)var a=console.log();

    console.log(typeof(a));输出function;

     

    展开全文
  • Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合(可变集合和不可变集合)这六种基本数据类型, 其中 数字、字符串、元祖和可变集合为不可变类型,列表、字典和不可变集合为可变类型。 下面我们...

    Python基本数据类型一般分为:数字字符串列表元组字典集合(可变集合和不可变集合)这六种基本数据类型,

    其中 数字、字符串、元祖和可变集合为不可变类型,列表、字典和不可变集合为可变类型。

    下面我们来详细的介绍一下他们:

    数字:

    数字类型是不可更改的对象。对变量改变数字值就是生成/创建新的对象。Python支持多种数字类型:

    整型(标准整型和长整型(Python2.7及之前的有这种类型))、布尔型、双精度浮点型、十进制浮点型、复数。

    标准整型

    int,标准整型,在大多数32位机器上标准整型取值范围是-231到231-1,也就是-2147483648~2147483647,如果在64位机器使用64位编译器,那么这个系统的标准整型将是64位。

    布尔型

    bool,从Python2.3开始Python中添加了布尔类型。布尔类型有两种True和False。对于没有__nozero__方法的对象默认是True。

    对于值为0的数字、空集(空列表、空元组、空字典等)在Python中的布尔类型中都是False。

    >>> bool(1)
    True
    >>> bool('a')
    True
    >>> bool(0)
    False
    >>> bool('')
    False
    

    浮点型

    ​ float,每个浮点型占8个字节(64位),完全遵守IEEE754号规范(52M/11E/1S),其中52个位用于表示底,11个位用于表示指数(可表示的范围大约是±10**308.25),剩下的一个位表示符号。这看上去相当完美,然而,实际精度依赖于机器架构和创建Python解释器的编译器。

    ​ 浮点型值通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法)。在e和指数之间可以用正(+)或负(-)表示指数的正负(正数的话可以省略符号)。更多内容,请点击python学习网

    以上是Python核心编程的对浮点型(双精度浮点型)的说明。经过Python实测浮点型默认长度是24字节如果超出这个范围会自动

    复数类型

    complex,在复数中虚数不能单独存在,它们总是和一个值为0.0的实数部分一起来构成一个复数。复数由实数部分和虚数部分构成。

    表示虚数的语法:real+imagj。

    实数部分和虚数部分都是浮点型。

    虚数部分必须有后缀j或J。

    字符串:

    字符串(string)是***不可变类型***,就是说改变一个字符串的元素需要新建一个新的字符串。字符串是由独立的字符组成的,并且这些字符可以通过切片操作顺序地访问。里面通过在引号间包含字符的方式创建字符串,单引号和双引号的作用是相同的。

    ​ Python用“原始字符串”操作符来创建直接量字符串,所以再做区分就没什么意义了。其他的语言,比如C语言里面用单引号来标示字符,双引号标示字符串,而在Python里面没有字符这个类型。这可能是双引号和单引号在Python里面被视作一样的另一个原因。

    ​ Python实际上有三类字符串。通常意义的字符串(str) 和Unicode字符串(unicode) 实际上都是抽象类basestring的子类。这个basestring是不能实例化的。

    字符串常见的操作方法:

    操作方法 作用 案例
    index() 查找字符串中第一次出现的子字符串的位置;可以规定字符串的索引查找范围[star,end)。若无则会报错 my_str="hello word hello python"
    ret_01=my_str.index(“lo”,5,17)
    print(ret_01)
    find() 找字符串中指定的子字符串第一次出现的位置(find默认从左侧开始查找,rfind从右侧开始查找),可以规定字符串的索引查找范围。若无则返回 -1 str.find(sub,start,end) -> int 返回整数
    - sub —要索引的子字符串。
    - start —索引的起始位置。默认值为0。
    - end —索引的结束位置。默认值为字符串长度len(str)。
    count() 查找指定字符在字符串中出现的次数 my_str="hello word hello python"
    ret_06=my_str.count(“lo”)
    print(ret_06)
    replace() 替换字符串中指定字符 replace(“被替换的字符”,“替换成的字符”,替换次数) 替换次数不写默认全部替换
    split() 拆分字符串。 通过指定分隔符sep对字符串进行分割,并保存分割后的字符串列表。 my_str=“hello word hello python"
    ret_03=my_str.split(” ")
    print(ret_03)
    capitalize() 将字符串的第一个字母变成大写,其余字母变为小写。 my_str="hello word hello python"
    ret_04=my_str.capitalize()
    print(ret_04)
    title() 返回一个满足标题格式的字符串。即所有英文单词首字母大写,其余英文字母小写 my_str="hello word hello python"
    ret_05=my_str.title()
    print(ret_05)
    startswith() 判断字符串是否以指定字符或子字符串开头 str.endswith(“suffix”, start, end) 或str[start,end].
    注意:空字符的情况。返回值通常为True
    endswith() 用于判断字符串中某段字符串是否以指定字符或子字符串结尾。 str.endswith(“suffix”)
    isalnum() 检测字符串是否由字母和数字组成。str中至少有一个字符且所有字符都是字母或数字则返回 True,否则返回 False str.isalnum() -> bool 返回值为布尔类型(True,False)
    isalpha() 检测字符串是否只由字母组成。字符串中至少有一个字符且
    所有字符都是字母则返回 True,否则返回 False。
    str.isalpha() -> bool 返回值为布尔类型(True,False)
    isdigit() 检测字符串是否只由数字组成.字符串中至少有一个字符且所有字符都是数字则返回 True,否则返回 False str.isdigit() -> bool 返回值为布尔类型(True,False)
    注:能判断“①”,不能判断中文数字。但 isnumeric() 函数可以。
    islower() 检测字符串中的字母是否全由小写字母组成。(字符串中可包含非字母字符)字符串中包含至少一个区分大小写的字符,且所有这些区分大小写的字符都是小写,则返回 True,否则返回 False。 str.islower() -> bool 返回值为布尔类型(True,False)
    isupper() 检测字符串中的字母是否全由大写字母组成。(字符串中可包含非字母字符)。字符串中包含至少一个区分大小写的字符,且所有这些区分大小写的字符都是大写,则返回 True,否则返回 False。 str.isupper() -> bool 返回值为布尔类型(True,False)
    strip() lstrip() rstrip() 该函数的作用是去除字符串开头和结尾处指定的字符,不会去除字符串中间对应的字符
    lstrip() 方法用于截掉字符串左边的空格或指定字符。
    删除 str 字符串末尾的指定字符(默认为空格
    str.strip(chars)
    参数:chars – 要去除的字符 默认为空格或换行符
    join() 将iterable变量的每一个元素后增加一个str字符串 sep.join(iterable)
    sep——分隔符。可以为空。
    iterable(可迭代对象)—— 要连接的变量 ,可以是 字符串,元组,字典,列表等。
    upper() 将字符串中所有小写字母转换成大写字母 my_str="hello word hello python"
    ret_06=my_str.upper()
    print(ret_06)
    center() 返回一个长度为width,两边用fillchar(单字符)填充的字符串,即字符串str居中,两边用fillchar填充。若字符串的长度大于width,则直接返回字符串str width —— 指定字符串的输出长度。
    fillchar—— 将要填充的单字符,默认为空格
    just() ljust() rjust() 返回一个原字符串左对齐(默认),并使用fillchar填充(默认为空格)至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。ljust()左对齐,rjust()右对齐
    issapce() 检测字符串是否只由空格组成。若字符串中只包含空格,则返回 True,否则返回 False str.isspace() -> bool 返回值为布尔类型(True,False)
    istitle() 检测判断字符串中所有单词的首字母是否为大写,且其它字母是否为小写,字符串中可以存在其它非字母的字符。若字符串中所有单词的首字母为大写,且其它字母为小写,则返回 True,否则返回 False. str.istitle() -> bool 返回值为布尔类型(True,False)

    注意

    • find和index都可以查找指定字符字符串的下标,不同点为find查找的字符不存在时输出-1,而index直接报错

    列表:

    认识列表:

    names = [“Alise”, 123, None, [1, 2, 3], {“name”: “张珊”}, 999, 110]

    我们将由中括号包裹的代码块称作列表,为了方便对裂变进行操作,我们将列表赋值给了变量names。注意,在特定情况下,变量需要先声明。变量中的每一个数据称作元素,元素可以为任意类型。

    列表的常见操作:

    操作方法 作用 案例
    append() 用于在列表末尾追加新的对象 a = [1, 2, 3]
    a.append(4)

    result: [1, 2, 3, 4]
    insert() 方法用于将对象插入到列表中 a = [1, 2, 3]
    a.insert(0, ‘aa’)

    result: [‘aa’, 1, 2,3]
    extend() 方法可以在列表的末尾一次性追加另一个序列中的多个值 a = [1, 2, 3]
    b = [4, 5, 6]
    a.extend(b)

    result: [1, 2, 3, 4, 5, 6]
    count() 方法统计某个元素在列表中出现的次数 a = [‘aa’, ‘bb’, ‘cc’, ‘aa’, ‘aa’]
    print(a.count(‘aa’))

    result: 3
    index() 函数用于从列表中找出某个值第一个匹配项的索引位置 a = [1, 2, 3, 1]
    print(a.index(1))

    result: 0
    in or not in 返回bool类型的结果 True 或者 False list = [‘aa’, ‘bb’, ‘cc’, ‘aa’, ‘aa’]
    print(“a” in list)
    # True
    pop() 方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值 a = [1, 2, 3]
    a.pop()
    result: [1, 2]
    a.pop(0)
    result: [2]
    remove() 方法用于移除列表中某一个值的第一个匹配项 a = [‘aa’, ‘bb’, ‘cc’, ‘aa’]
    a.remove(‘aa’)

    result: [‘bb’, ‘cc’, ‘aa’]
    clear() 清除列表中所有的元素 list= [“aa”, “bb”, “cc”, “dd”, “ee”, “ff”]
    list.clear()
    print(list)
    # 运行结果:[ ]
    del() 删除整个列表 list= [“aa”, “bb”, “cc”, “dd”, “ee”, “ff”]
    del list
    print(list) # 报错 name ‘list’ is not defined
    reverse() 方法将列表中的元素反向存放 a = [‘a’, ‘b’, ‘c’]
    a.reverse()

    result: [‘c’, ‘b’, ‘a’]
    enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中 li = [11, 22, 33]
    for k,v in enumerate(li, 1):
    print(k, v)
    len() 返回一个列表的长度 names = [“Alise”, 123, None, [1, 2, 3], {“name”: “张珊”}, 999, 110]
    print(len(names))
    # 7
    sort()和sorted() 方法用于在原位置对列表进行排序,意外着改变原来的列表,让其中的元素按一定顺序排列 # 对字母进行排序:
    nums = [“a”, “b”, “c”, “e”, “z”, “x”]
    nums.sort(reverse=True)
    print(nums) # [‘z’, ‘x’, ‘e’, ‘c’, ‘b’, ‘a’]
    # [‘z’, ‘x’, ‘e’, ‘c’, ‘b’, ‘a’]

    # 对数字进行排序:
    nums = [3, 9, 15, 51, 75, 6, 1, 4, 45]
    nums.sort(reverse=True)
    print(nums) # [75, 51, 45, 15, 9, 6, 4, 3, 1]

    列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。

    它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生。

    列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层

    [x*y for x in range(1,5) if x > 2 for y in range(1,4) if y < 3]
    # 他的执行顺序是:
    for x in range(1,5)
        if x > 2
            for y in range(1,4)
                if y < 3
                    x*y
    

    注意

    • sort只可对列表进行操作,而sorted可对所有可迭代对象使用,且sortsorted 都有两个参数 ,第一个参数:key=None默认为空,可以是自定义函数,系统函数,或者lambda匿名函数 ,第二个参数是reverse=Fals 默认为False表示不反转,即从小到大的顺序

    元祖:

    元组的定义由()定义,相邻元素之间采用,进行分割,在形式上,可以称为不可变的列表

    元组是不可变类型,无法对其中的元素进行单独的修改和增加

    元祖的常见操作

    操作方法 作用 案例
    del 元组的删除(由于元祖不可变,所以这里是删除整个元祖) tu1 = (‘123’, ‘元组’, [1, 2, 3], {‘name’: ‘zhou’, ‘age’: 18}) del tu1
    count 查找的为某个元素在元组中出现的次数 tu = (11, 22, 33, 44, 55, 44, 33, 22, 11)
    print(tu.count(22))

    # 输出结果 2
    index 查找的为元素的索引值,第一个参数代表需要查找的元素,第二个参数可以指定从哪个索引值开始查找 tu = (11, 22, 33, 44, 55, 44, 33, 22, 11)
    print(tu.index(44))
    print(tu.index(44, 4))

    # 输出结果
    3
    5
    通过索引取值 通过切片的方式获取指定的元素,第一个参数为开始索引,第二个参数为结束索引,第三个参数为步长 tu = (11, 22, 33, 44, 55, 44, 33, 22, 11)
    # 通过索引取出索引为3的值
    print(tu[3])
    print(tu[2:8:2])

    # 输出结果
    44

    修改元组元素

    虽然我们开始就说到元组无法进行单独的修改,但是我们可以对原组进行重新赋值,拼接等操作达到修改元组

    tu = (11, 22, 33, 44, 55, 44, 33, 22, 11)
    # 给元组重新赋值
    tu = (77, 88, 99)
    print(tu)
    
    # 使用元组进行拼接得到新元祖,注意,拼接的类型一定要为元组格式
    tu1 = (33, 44, 55)
    tu2 = (66, 77, 88)
    tu1 = tu1 + tu2
    print(tu1)
    
    # 输出结果
    (77, 88, 99)
    (33, 44, 55, 66, 77, 88)
    

    元组的拆包

    在元组有多个元素的时候,我们可以进行元组拆包来分别得到元组的元素

    tu = (77, 88, 99)
    # 有几个元素就用几个变量接收
    a, b, c = tu
    print(a)
    print(b)
    print(c)
    
    # 输出结果
    77
    88
    99
    

    元组推导式

    元组推导式和我们的列表推导式是一样的,只需要修将列表的[]改为()就可以了,此处我们不做过多的演示,详细内容请看列表(list)的常用操作

    字典:

    字典的定义:

    字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

     d = {key1 : value1, key2 : value2 }
    

    字典的常见操作:

    操作方法 格式
    查看元素 print(字典名[key值]) #获取不存在的key会发生异常 print(字典名.get(key值)) #获取到不存在的key不会发生异常
    修改元素 字典名[key值] 赋予新的值即可
    dict[key] = “runtu”
    添加元素 字典名[key值] = “qiuqiu” #key值不存在
    dict[key] = “qiuqiu”
    删除元素 del 字典[key值]
    del dict[key]
    删除字典 del 字典名
    del dict
    清空字典 字典名.clear
    dict.clear
    测量键值对的长度或个数 len(字典名)
    len(dict)
    返回一个字典的所以key的列表 print(字典名.keys)
    print(dict.keys)
    返回一个包含字典所有value的列表 print(字典名.values)
    print(dict.values)
    返回一个包含所有(键,值)元组的列表 print(字典名.items())
    print(dict.items())
    .has_key查看key值是否在字典内,返回True(存在),返回False(不存在) 字典名.has_key(key值)
    dict.has_key(key)

    字典的特性:

    字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

    1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

      dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'} 
       
      print "dict['Name']: ", dict['Name']
      
      # 输出结果:
      dict['Name']:  Manni
      
    2. 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,如下实例:

      dict = {['Name']: 'Zara', 'Age': 7} 
      print(dict)
      #输出结果(报错信息):
      dict = {['Name']: 'Zara', 'Age': 7}
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      TypeError: unhashable type: 'list'
      

    Python字典包含了以下内置函数:

    序号 函数 描述
    1 cmp(dict1, dict2) 比较两个字典元素。
    2 len(dict) 计算字典元素个数,即键的总数。
    3 str(dict) 输出字典可打印的字符串表示。
    4 type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

    Python字典包含了以下内置方法:

    序号 函数 描述
    1 dict.clear() 删除字典内所有元素
    2 dict.copy() 返回一个字典的浅复制
    3 dict.fromkeys(seq[, val]) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
    4 dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
    5 dict.has_key(key) 如果键在字典dict里返回true,否则返回false
    6 dict.items() 以列表返回可遍历的(键, 值) 元组数组
    7 dict.keys() 以列表返回一个字典所有的键
    8 dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    9 dict.update(dict2) 把字典dict2的键/值对更新到dict里
    10 dict.values() 以列表返回字典中的所有值
    11 pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
    12 popitem() 返回并删除字典中的最后一对键和值。

    集合:

    集合的定义:

    集合(set)是一个无序的不重复元素序列

    可以使用大括号 { } 或者 set( ) 函数创建集合

    创建一个空集合必须用 set( ) 而不是 { },因为 { } 是用来创建一个空字典

    集合的常见操作:

    add 增加元素 a_set = {1, 2, 3, 4, 5}
    a_set.add(6)
    a_set.add(“a”)
    print(a_set)
    {1, 2, 3, 4, 5, 6, ‘a’}
    update 把要传入的元素拆分,作为个体传入到集合中 a_set = {1, 2, 3, 4, 5}
    b_set = {6, 7, 8, 9}
    a_set.update(b_set)
    print(a_set)
    {1, 2, 3, 4, 5, 6, 7, 8, 9}
    remove 删除集合中的元素 如果有,直接删除 如果没有 程序报错 c_set = {1, 2, 3, 4, 5, 6, 7, 8, 9}
    c_set.remove(8)
    print(c_set)
    {1, 2, 3, 4, 5, 6, 7, 9}
    pop 随机删除集合中的元素,如果set1没有元素程序报错 c_set = {1, 2, 3, 4, 5, 6, 7, 8, 9}
    c_set.pop()
    print(c_set)
    #{2, 3, 4, 5, 6, 7, 8, 9}
    discard 如果元素存在 直接删除 如 果元素不存在 不做任何操作 c_set = {1, 2, 3, 4, 5, 6, 7, 8, 9}
    c_set.discard(5)
    print(c_set)
    #{1, 2, 3, 4, 6, 7, 8, 9}

    集合的交集和并集:

    方法 代码
    交集 set1 = {1, 2, 3, 4}
    set2 = {3, 4, 5, 6}
    new_set = set1 & set2
    print(new_set)
    并集 set1 = {1, 2, 3, 4}

    set2 = {3, 4, 5, 6}
    new_set = set1 | set2
    print(new_set)

    Python 集合的优势:

    由于集合中的元素不能出现多次,这使得集合在很大程度上能够高效地从列表或元组中删除重复值,并执行取并集、交集等常见的的数学操作

    注意:

    集合分为可变集合不可变集合

    不可变集的一个主要的缺点是:由于它们是不可变的,这意味着你不能向其中添加元素或者删除其中的元素

    展开全文
  • 对于javascript有六种数据类型,其中包括五种基本类型(string,boolean,number,undefined,null),跟一种引用类型(Object) 对于基本类型,可能大家都比较熟悉,基本概念就不做过多介绍。 引用类型:一组属性...
  • 我国网络诈骗综合数据分析与几种常见类型 一网络诈骗整体数据分析 2019 年猎网平台共收到有效诈骗举报 15505 例举报者被骗 总金额达 3.8 亿元人均损失为 24549 元较 2018 年人均损失略有 增长数据显示2014 年至 ...
  • Python3有6个最常使用的数据类型,分别是:Numbers(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionaries(字典)本篇文章将会详细解释六种数据类型的概念和基本用法,作为Python后续学习的基础。...
  • JavaScript是一弱类型特性语言,定义变量的时候无需指定变量类型...JavaScript一共有6种数据类型,其中有5原始类型和1对象类型。常见的简单类型叫做原始类型(也叫基元类型)。1、number(数字)2、string(字符
  • 在js中常见的六种数据类型:String类型、Null类型、Number类型、Boolean类型、Object类型。 1、typeof的注意点 涉及到数据类型,不免会提到,操作符 typeof。要注意: 1、typeof是操作符,不是方法。虽然我们经常...
  • JavaScript一共有六种数据类型,分为原始类型(又名基本类型)和对象类型(又名引用类型) 原始类型有五种,分别为number,string,boolean,undefined,null五种。 对象类型常见的有Function,Array,Date,正则 ...
  • HyperLogLog 是大数据基数统计中的常见方法,用于在一定误差范围内,用最小空间复杂度来估算一个数据基数,Redis,Spark 还是 Flink都提供与之相关功能。 什么是基数估算 基数估算(Cardinality ...
  • js的数据类型常见隐式转化逻辑。 一、六种数据类型 原始类型(基本类型):按值访问,可以操作保存在变量中实际的值。原始类型汇总中null和undefined比较特殊。 引用类型:引用类型的值是保存在内存中的对象...
  • 可视化图表有很多种,这篇文章主要介绍了Python绘制六种...因此,在这里,我特地总结了六种常见的基本图表类型,你可以通过对比学习,打下坚实的基础。 01. 折线图 绘制折线图,如果你数据不是很多的话,画出来的图将
  •   typeof会返回一个能表示数据类型的字符串,有string、number、boolean、undefined、function这六种类型。   其中,引用数据类型中数组和对象都会返回object。 二、instanceof   用来检测当前实例是否属于...
  • Redis五种数据结构也叫五种不同类型的对象(字符串对象、列表对象、哈希对象、集合对象和有序集合对象),是由六种底层数据结构(简单动态字符串,双端链表,字典,压缩列表,整数集合)实现,每种对象都用到...
  • 在js中常见的六种数据类型:String类型、Null类型、Number类型、Boolean类型、Object类型。 1、typeof的注意点 涉及到数据类型,不免会提到,操作符 typeof。要注意: 1、typeof是操作符,不是方法。虽然我们经常...
  • 数据类型一般分为六种:number,string,boolean,undefined,null,object number,数值数据类型,例如10或者1或者5.5 string,字符串数据类型,例如”helloworld” boolean,布尔类型true|falseundefined,...
  • 1、typeof 类型判断在web开发中有非常广泛应用。说到类型判断,首先会想到是typeof,引用《JavaScript权威指南》中对typeof...在ES6前,JavaScript共有六种数据类型: Boolean、Number、String、Undefined、Null...
  • JS中六种数据类型(六)——Object

    千次阅读 2017-03-01 13:22:18
    ECMAScript中的对象是可变的键控集合(即一组数据和功能的集合)。它将很多值聚合在一起,可通过...对象最常见的用法是创建(create)、设置(set)、查找(query)、删除(delete)、检测(test)和枚举(enumerate
  • mysql中的数据类型以及常见约束一、常见约束1. 介绍:一限制,用来限制表中的数据,为了保证表中的数据的准确性和可靠性2. 约束的分类:一共有大约束① NOT NULL:非空约束,用来保证该字段的值不能为空② ...
  • 下边为大家介绍的是MYSQL常见的六种数据类型1、整型MySQL数据类型含义(有符号)tinyint(m)1个字节 范围(-128~127)smallint(m)2个字节 范围(-32768~32767)mediumint(m)3个字节 范围(-8388608~8388607)int(m)4个字节 ...
  • 1.八大基本数据类型: byte,short,int,long,float,double,char,boolean 2.对应包装类型 ...六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 (1)byte: byte 数据类型是8位、有符...
  • C#常见金额优选类型及其三常用的取整方式 原文:C#常见金额优选...一、C#常用的三取整方式(主要适用于double、decimal、float这一类型的数据): Math.Round():为四舍入五取整 Math.ceil...
  • 另一方面,通过对ZooKeeper中丰富的数据节点类型进行交叉使用,配合Watcher事件通知机制,可以非常方便地构建⼀系列分布式应用中都会涉及的核心功能,如数据发布/订阅、命名服务、集群管理、Master选举、分布式锁和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 512
精华内容 204
关键字:

六种常见的数据类型