首页 > 编程语言 >python序列

python序列

时间:2023-01-18 09:55:56浏览次数:47  
标签:10 arr 20 python range arr1 序列

类似于JavaC的数组,但python的”数组“可操作性更强,以下是常用API

  • insert 指定位置插入

    arr = [0, 1, 20, 3, 40, 5, 60, 7, 80, 9]
    # 下标1位置后加入值,结果[0, 1, 81, 20, 3, 40, 5, 60, 7, 80, 9]
    arr.insert(1,81)
    
  • append 尾部添加

    arr = [ i for i in range(0, 10) ]
    # 尾部追加,结果[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    arr.append(10)
    
  • remove 移除序列内元素

    若remove中的元素在序列中不存在,则会报错

    arr = [ i for i in range(0, 10) ]
    # 移除2这个元素,结果是
    arr.remove(2)
    

    替代方案

    arr = [ i*10 for i in range(0, 10) ]
    # 按下标删除
    del arr[0]
    # 删除序列中全部数据
    arr.clear()
    
  • extend 尾部追加序列

    arr1 = [ i for i in range(1,10,2) ]
    arr2 = [ i for i in range(0,10,2) ]
    arr1.extend(arr2)
    
  • sort 排序

    arr = [ i for i in range(1,10,2) ]
    arr.sort(reverse=True) # 倒序
    arr.sort(reverse=False) # 升序(默认)
    
  • 附录

    • + 拼接

      多个序列用"+"号拼接

      arr1 = [1,2,3]
      arr2 = [4,5,6]
      arr3 = [7,8,9]
      # 结果是[1,2,3,4,5,6,7,8,9]
      arr4 = arr1 + arr2 + arr3
      
    • * 重复

      arr = [1,2,3]
      # 结果是[1,2,3,1,2,3,1,2,3]
      arr1 = arr*3
      
  • ⭐ 不支持 调用next迭代,只能通过for遍历;因为只有构造器中使用了yield才支持next

    from collections.abc import Iterable
    from typing import Iterator
    
    arr = [1,2,3,4,5]
    # false
    print(isinstance(arr1,Iterator))
    # true
    print(isinstance(arr1,Iterable))
    # 这句报错
    next(arr)
    
  • mapreduce

    python内建的map和reduce函数,可以更加方便得处理数组数据。map()接收2个参数,一个是函数,另一个是序列。map将序列中的数据带入函数中计算,然后返回。

    def f(x:int):
        return x*x
    maps= list( map(str,[i for i in range(1,8)]) )
    

    reduce接收2个参数,一个是函数,另一个是序列;必须是接受2个参数的函数,本次计算结果会被自动带入函数的第一个参数中,参与下一次计算。

    from functools import reduce
    
    def f1(x:int,y:int):
        return x + y
    # 计算1到10之和,结果45
    j = reduce(f1,[i for i in range(1,10)])
    
  • filter筛选序列

    filter接收2个参数,一个是函数,另一个是序列;必须是接收1个参数的函数,filter将返回true的结果过滤出并返回。

    def f(x):
        return x%2 == 0
    # 过滤0-20之间的偶数
    res = list( filter(f,[i for i in range(20)]) )
    
  • sorted 排序

    sorted可以接受一个key函数来实现自定义排序,reverse来定义是否颠倒序列。python提供的key值有

    arr=sorted([1,20,3,40,5,60],key=abs)
    arr=sorted([1,20,3,40,5,60],key=abs,reverse=True) # 颠倒
    
    # 自定义排序规则,如下:学生按成绩排序
    L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
    def by_score(t):
        return t[1]
    L3 = sorted(L, key=by_score)
    

序列生成式

顾名思义,按规则生成序列,用以替代将一个一个的元素录入序列

# 这种写法很繁琐,一旦数据量过多(元素个数超过1个W),这样写显然不现实
arr = [0, 1, 20, 3, 40, 5, 60, 7, 80, 9]
# 生成从0到9,共10个数,偶数乘10,奇数不变;结果:[0, 1, 20, 3, 40, 5, 60, 7, 80, 9]
arr = [ i*10 if i%2==0 else i for i in range(0, 10) ]
# 还有更加高阶玩法——多个for嵌套;打印结果如下:
# ['10', '12', '14', '16', '18', '30', '32', '34', '36', '38', '50', 
# '52', '54', '56', '58', '70', '72', '74', '76', '78', '90', '92', 
# '94', '96', '98', '10', '12', '14', '16', '18', '30', '32', # '34', 
# '36', '38', '50', '52', '54', '56', '58', '70', '72', '74', '76', 
# '78', '90', '92', '94', '96', '98']
arr = [ "%d%d"%(i,j) for i in range(1,10,2) for j in range(0,10,2)  ]

标签:10,arr,20,python,range,arr1,序列
From: https://www.cnblogs.com/JarryShu/p/17059195.html

相关文章

  • python pip实用手册
    pip是python的包安装工具,类似于JavaScript的npm和yarn设置国内源国内源清华https://pypi.tuna.tsinghua.edu.cn/simple阿里http://mirrors.aliyun.com/pypi/simpl......
  • 【Python】爬虫笔记-开源代理池haipproxy使用
    大规模的数据采集需要用到代理池来突破IP封锁。一般代理池的构建是先爬取网上的免费代理,校验后存到数据库中,再提供给其他程序api。github上有很多现成的代理池能拿来用,在......
  • python基础: 流程控制
    目录流程控制1.流程控制的理论知识2.需要注意的知识点3.流程控制之分支结构流程控制1.流程控制的理论知识概念:就是按照一定的步骤来实现某些功能的语句,事物的流程控......
  • 正则表达式在python中的应用
    基本语法元字符.匹配除换行符外任意一个字符[a-z]一个字母字符[^a-z]一个非字母字符[0-9]一个数字字符[^0-9]一个非数字字符\b匹配单词......
  • Day01-Python环境安装
    一、Python简介1、开源代码是公开的,任何人都可以去查看,修改以及使用。2、版本包括CPython(由C编写,把python编译成中间态的字节码,然后有虚拟机解释),Jthon(将python代码编译......
  • python基础: 数据类型及其内置方法、类型转换
    目录基本数据类型数据类型的概述1.数据类型之整形--int2.数据类型之浮点型--float3.数据类型之字符型,也称字符串类型--str4.数据类型之列表--list5.数据类型之字典--dict6.......
  • 通过 Python 来调用 Shell 脚本的三种常用方式
    如何通过Python来调用Shell脚本本文介绍三种写法使用os.system来运行使用subprocess.run来运行使用subprocess.Popen来运行三种方式的优缺点os.syste......
  • python操作mysql的库--Pymysql
    安装pipinstallpymysql安装json,用于加载json配置文件参数pipinstallsimplejson创建实验用表MariaDB[test]>createtablestudent(idintnotnullauto_......
  • 编译安装python
    下载源码https://www.python.org/downloads/方法1手动编译安装并指定openssl#安装依赖$yuminstallgcclibffi-develzlib*openssl-devellibffi-develzlib-deve......
  • python基础: python语法之注释、PEP8规范说明、变量与常量、变量的本质、命名规范、命
    目录python基础python语法之注释PEP8规范说明变量与常量变量的本质命名规范命名风格常量基本数据类型python基础python语法之注释注释:是对所写的代码的解释说明三种......