zoukankan      html  css  js  c++  java
  • python 零散记录(二) 序列的相关操作 相加 相乘 改变 复制

    序列相加:

    [1,2] + [3,4]  == [1,2,3,4]
    
    #字符串也是序列的一种
    'hello' + 'world' == 'hello world'
    
    #但是序列相加只限于相同类型的序列间相加。所以
    [1] + 'haha'  #这样是会报错的

    序列相乘:

    #数字乘以序列会产生新的序列:
    'python' * 3 == 'pythonpythonpython'
    
    [1,2] * 3 == [1,2,1,2,1,2]
    
    #创建一个占用n个元素空间的列表:
    mylist = [None] * 4
    #这样mylist就等于
    [None,None,None,None]
    
    #这样你可以写
    mylist[3] = 'xxx'
    
    #但是如果不这样用None占位的话:
    mylist2 = []
    mylist2[3] = 'xxx' #这样会报错,超出范围
    
    #更应该注意:None并不代表什么都没有,他也是一个数据类型

    len() max() min() 函数:

    #三个函数都接受列表作为参数
    l = [1,2,3]
    
    #len返回l的长度
    len(l) == 3
    
    #max返回l中最大值
    #min返回最小值
    
    max(l) == 3
    min(l) == 1

    序列的改变:

    #以下都是list的方法:
    l.append('xx')    #向列表末尾追加一个元素
    l.count('xx')        #返回某元素出现次数
    l.extend(l2)        #向列表末尾连接一个列表
    #实际上 + 运算也可以实现相同操作,但extend修改原列表,+则产生了新列表,这与java类似。当数据过大,使用extend会很有效。
    
    l.insert(0, 'xxx')   #在指定位置插入元素
    l.pop()                #移除元素并返回该元素,缺省从末尾弹出,但可以手动指定索引位置
    I.pop(0)                #从首位弹出
    
    #可使用insert(0, 'xxx') pop()来模拟 FIFO(队列,先进先出)
    
    l.remove('xx')    #移除列表中第一个匹配项
    l.reverse()         #反向存储元素,对应的普通方法:reversed()
    l.sort()                #排序,对应的普通方法:sorted()

    注意一点:

    #复制一个列表的时候
    x = [1,2,3]
    y = x             #这样得到的 y 只是[1,2,3]的另一个引用而已,改变x会影响 y
    
    #正确的方式是,有效利用序列切片
    y = x[:]    #x从头到尾都切下来给y
  • 相关阅读:
    关于在MAC上进行 LARAVEL 环境 Homestead 安装过程记录
    js 贷款计算器
    js 实现阶乘
    js 两点间距离函数
    composer Your requirements could not be resolved to an installable set of packages
    vue 项目优化记录 持续更新...
    vue 项目打包
    vue 真机调试页面出现空白
    vue 真机调试
    谈谈-Android状态栏的编辑
  • 原文地址:https://www.cnblogs.com/lipijin/p/3271365.html
Copyright © 2011-2022 走看看