美文网首页
python基础:list和tuple,dict和set

python基础:list和tuple,dict和set

作者: plsour | 来源:发表于2017-06-07 21:59 被阅读0次

    python基础

    list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们


    使用key-value存储结构的dict在Python中非常有用,选择不可变对象作为key很重要,最常用的key是字符串


    list

    list是一种有序的集合,可以随时添加和删除其中的元素
    s=['L','O']
    
    • len() 函数可以获得list元素的个数
    • 用索引来访问list中每一个位置的元素,记得索引是从0开始的
    • 如果要取最后一个元素,除了计算索引位置外,还可以用 -1 做索引,直接获取最后一个元素
    • ist是一个可变的有序表,所以,可以往list中追加元素到末尾:
    >>>s.append('A') 
    
    • 把元素插入到指定的位置,比如索引号为1的位置
    >>>s.instert(1,'B')
    
    • 删除list元素,用pop()方法:
    >>>s.pop()
    # 删除list末尾的元素
    >>>s.pop(1)
    # 删除指定位置的元素
    
    • list元素也可以是另一个list
    >>>p=['N',s]
    p[1][1]="B"
    # 二维数组
    

    tuple(元组)

    tuple和list非常类似,但是tuple一旦初始化就不能修改
    代码更安全。如果可能,能用tuple代替list就尽量用tuple
    >>>s=('a','b','c')
    
    • 要定义一个只有1个元素的tupleq=(1,)
      只有1个元素的tuple定义时必须加一个逗号
      q=(1)按小括号进行计算
    • “可变的”tuple"
    >>>t=('a','b','c',['A','B'])
    >>t[3][0]='N'
    >>>t
    ('a','b','c',['N','B'])
    

    tuple所谓的“不变”是说,tuple的每个元素,指向永远不变

    • 函数返回多个值时,实质上返回的是一个tuple,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple

    dict

    • dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度
    d = {'a': 10, 'B': 20}
    
    • 通过key放入:>>> d['C'] = 30
    • 通过in判断key是否存在:
    >>> 'd' in d
    False
    >>> 'c' in d
    True
    
    • dict的key必须是不可变对象

    set

    • set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
     s = set([1, 2, 3])
    
    • 通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果
      通过remove(key)方法可以删除元素
    >>> s=set([1,2,2,3,3,4])
    >>> s
    {1, 2, 3, 4}
    >>> s.add(6)
    >>> s
    {1, 2, 3, 4, 6}
    >>> n=set(['a','a','b'])
    >>> n
    {'b', 'a'}
    >>> n.add('c')
    >>> n
    {'c', 'b', 'a'}
    >>> s.add('c')
    >>> s
    {1, 2, 3, 4, 6, 'c'}
    >>> s.remove('c')
    >>> s
    {1, 2, 3, 4, 6}
    
    • set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作
    >>> s & n
    {2}
    >>> s | n
    {1, 2, 3, 4, 6, 'a', 'b', 'c'}
    
    • set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等
      list放入set会报错

    相关文章

      网友评论

          本文标题:python基础:list和tuple,dict和set

          本文链接:https://www.haomeiwen.com/subject/fvvafxtx.html