当前位置: 首页 > news >正文

昆明移动网站建设肇庆网页关键词优化

昆明移动网站建设,肇庆网页关键词优化,无锡本地模板网站建设,网页网站的制作过程前言数组类型是各种编程语言中基本的数组结构了#xff0c;本文来盘点下Python中各种“数组”类型的实现。listtuplearray.arraystrbytesbytearray其实把以上类型都说成是数组是不准确的。这里把数组当作一个广义的概念#xff0c;即把列表、序列、数组都当作array-like数据类…前言数组类型是各种编程语言中基本的数组结构了本文来盘点下Python中各种“数组”类型的实现。listtuplearray.arraystrbytesbytearray其实把以上类型都说成是数组是不准确的。这里把数组当作一个广义的概念即把列表、序列、数组都当作array-like数据类型来理解。注意本文所有代码都是在Python3.7中跑的^_^0x00 可变的动态列表listlist应该是Python最常用到的数组类型了。它的特点是可变的、能动态扩容可存储Python中的一切对象使用时不用指定存储的元素的类型。使用非常简单 0x01 不可变的tupletuple的操作与list类似。它的特点是不可变不能扩容可存储Python中的一切对象使用时不用指定存储的元素的类型。 t one,two,3t (one, two, 3)t.append(4) AttributeError: tuple object has no attribute appenddel t[0] TypeError: tuple object doesnt support item deletiontuple可以使用运算符这个运算将创建一个新的tuple对象用于存储数据。 t(1,) (one, two, 3, 1)tcopy t(1,)tcopy (one, two, 3, 1)id(tcopy) 4604415336id(t) 4605245696可以看出tuple执行运算符之后两个对象的地址是不一样0x02 array.array如果在Python中要用到其它语言中类似“数组”的数据结构就需要用到array模块了。它的特点是可变的、存储相同类型的数值不能存储对象。因为array在使用的时候要指定元素数据类型因此它比list和tuple都有比较高效空间性能。# 使用时指定元素数据类型为floatarr array.array(f, (1.0, 1.5, 2.0, 2.5))arr array(f, [1.0, 1.5, 2.0, 2.5]) # 修改一个元素arr[1]12.45arr array(f, [1.0, 12.449999809265137, 2.0, 2.5]) # 删除一个元素del arr[2]arr array(f, [1.0, 12.449999809265137, 2.5]) # 增加一个元素arr.append(4.89)arr array(f, [1.0, 12.449999809265137, 2.5, 4.889999866485596]) # 如果将一个字符串类型数据存储到一个浮点数的数组将会报错arr[0]hello TypeError: must be real number, not strarray中元素的数据类型可以参考下表0x03 字符串序列strPython3中使用str对象来表示一个文本字符序列(看这跟Java中的字符串String是多么相似呢)。它的特点不可变的Unicode字符序列。在str中它的每一个元素都是字符串对象。 s 123abcs 123abcs[0] 1s[2] 3 # 字符串是不可变的序列不能删除其中的元素del s[1] TypeError: str object doesnt support item deletion # 要对字符串进行操作可以转化成list sn list(s)sn [1, 2, 3, a, b, c]sn.append(9)sn [1, 2, 3, a, b, c, 9] # 字符串中的元素也是字符串对象type(s[2]) class strtype(s) class strstr对象也可以执行操作它也会生成一个新对象用于存储。 s2 s33s2 123abc33id(s2) 4605193648id(s) 45526404160x04 bytesbytes对象用于存储字节序列它的特点是不可变存储可存储0-256的数值。 b bytes([0,2,4,8])b[2] 4b bx00x02x04x08b[0]33 TypeError: bytes object does not support item assignmentdel b[0] TypeError: bytes object doesnt support item deletion 0x05 bytearraybytearray对象与bytes类似用于存储字节序列。它的特点是可变的能动态扩容的字节数组。 ba bytearray((1,3,5,7,9))ba bytearray(bx01x03x05x07t)ba[1] 3 # 删除一个元素del ba[1]ba bytearray(bx01x05x07t)ba[0]2ba[0] 2 # 添加一个元素ba.append(6) # 只能添加字节ba.append(s) TypeError: str object cannot be interpreted as an integerba bytearray(bx02x05x07tx06) # 字节的范围是0-256ba[2]288 ValueError: byte must be in range(0, 256)bytearray可以转化成bytes对象但效率不是很高。# bytearray转成bytes将生成一个新对象bn bytes(ba)id(bn) 4604114344id(ba) 45524735440x06 各个类型相互转化tuple-list tuple(l) (a, b, c)list-tuple t (a, b, c)list(t) [a, b, c]str-list l list(abc)l [a, b, c]list-str l [a, b, c].join(l) abcstr-bytes s 123bytes(s) TypeError: string argument without an encodingbytes(s,encodingutf-8) b123 # 或者使用str的encode()方法s.encode() b123bytes-str b b124b b124type(b) class bytesstr(b,encodingutf-8) 124 # 或使用bytes的decode()b.decode() 1240x07 总结这些数据类型都是Python自带的在实际开发中应该根据具体需求选择合适的数据类型。例如当要存储的元素类型是多种多样的那么就应该使用list或者tuple。而array.array相对来说拥有较好的空间性能但它只能存储单一类型。我相信在很多业务场景中list或tuple是可以满足需求的只是其它数据结构也要有所了解在我们做一些基础组件时会考虑数据结构的性能或者阅读他人的代码时能做到心中有数。
http://www.zqtcl.cn/news/912314/

相关文章:

  • 做景观素材有哪几个网站国内建网站费用
  • 驻马店重点项目建设网站wordpress常规选项
  • 网站开发 英文网站策划建设阶段的推广
  • 建立网站一般多少钱wordpress评论跳过验证
  • 南京每月做社保明细在哪个网站查看设计作品的网站软件
  • html怎么做网站如何在腾讯云上网站建设
  • 网站建设怎么链接表格手机做外贸有什么好的网站
  • 深圳开发网站建设哪家好外贸网络营销培训
  • 广州智迅网络做网站免费下载ps素材网站
  • 什么网站时候做伪静态开发软件定制
  • 找人做网站 多少钱西宁市公司网站建设
  • 网页设计 教程网站找权重高的网站方法
  • 网站建设本地还是外地重庆seo排名方法
  • 那个网站做网编好昨晚兰州发生了什么事
  • 温州建设局网站首页哪里可以学做资料员的网站
  • 网站怎样在360做优化wordpress文章图片在线裁剪
  • 彭州建设网站建设网站哪间公司比较好
  • qq空间网站根目录慧聪网首页
  • 制作小程序和网站的公司杭州品牌设计公司
  • 显示网站翻页代码wordpress 金融 模板下载
  • 用双语网站做seo会不会phpmysql网站
  • 长沙专业网站建设公司优惠券怎么做自己的网站
  • 做网站如何宣传怎么弄公众号
  • seo网站策划书网站建设资金投入
  • 做网站东莞东莞建网站wordpress 多文件上传
  • 公司注册流程聊城网站优化案例
  • 化妆品网站建设实施方案杭州seo代理公司
  • 网站小图片素材高质量外链
  • 福州个人建站模板有没有一些有试卷做的网站
  • 教你如何建设网站阿里去旺道seo优化