• 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
  • 相关阅读:
    matlab 绘制条状图形
    细思恐极 天价房都被谁买去了?——如何操作?
    matlab中的containers.Map()
    林彪:怎样当好一个师长?
    matlab 怎么建立结构体数组?
    matlab中patch函数的用法
    Ubuntu 安装配置MySQL,并使用VS的Server Explorer UI界面远程管理MySQL
    CLIQUE 聚类算法以及Java实现+多线程
    R 中同步进行的多组比较的包:npmc
    基于D3JS绘制中国地图
  • 原文地址:https://www.cnblogs.com/lipijin/p/3271365.html
Copyright © 2020-2023  润新知