栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python

可变字符串

字符串是不可变对象,如果修改其值只能创建新对象。或者用io.StringIO()原地修改

>>> import io
>>> a = '123456789'
>>> b = io.StringIO(a)
>>> b
<_io.StringIO object at 0x00000249E854D820>
>>> id(a)
2516453935024
>>> id(b)
2516453742624
>>> b.seek(7)
7
>>> b.write('6')
1
>>> b.getvalue()
'123456769'
运算符

序列

常用序列结构:字符串、列表、元组、字典、集合
a = [10,20,30,40]:首先创建四个对象,然后将4个对象的ID保存到列表里面(a[0]…),a变量保存着列表的ID。

>>> a = [10,'sxl','1万']
>>> id(a)
2283244129664
>>> id([10,'sxl','1万'])
2283244125440
>>> id(10)
140735345932352
>>> id(a[0])
140735345932352
4种创建列表方法
  • 基本语法[]
>>> a = [] 		#创建一个空的列
  • list()创建
>>> a = list('sxl')
>>> a
['s', 'x', 'l']
>>> list(range(5))
[0, 1, 2, 3, 4]
  • range()创建整数列表
    range([start,] end [,step])
 >>> list(range(3,15,2))
[3, 5, 7, 9, 11, 13]
>>> list(range(15,3,-1))
[15, 14, 13, 12, 11, 10, 9, 8, 
  • 推导式生成列表
>>> a = [x*2 for x in range(100) if x%9==0] #通过 if 过滤元素
>>> a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198
列表元素的增加

一般只在尾部操作,内部插入,列表元素移动,效率低

#append()方法,尾部添加新元素,不创建新的列表对象
>>> a = ['sxl',123]
>>> a.append(666)
>>> a
['sxl', 123, 666]
#extend()方法,尾部添加新列表,不创建新的列表对象
>>> a.extend([33,'yq'])
>>> a
['sxl', 123, 666, 33, 'yq']
#+运算符操作,创建新的列表对象
>>> a = [20,40]
>>> id(a)
46016072
>>> a = a+[50]
>>> id(a)
46015432
#insert()插入元素,元素后移
>>> a.insert(2,'zpw')
>>> a
['sxl', 123, 'zpw', 666, 33, 'yq']
#乘法扩展
>>> a *=3
>>> a
['sxl', 123, 'zpw', 666, 33, 'yq', 'sxl', 123, 'zpw', 666, 33, 'yq', 'sxl', 123, 'zpw', 666, 33, 'yq']
列表元素的删除

本质上还是拷贝元素

#del 删除		针对索引
>>> a = [100,200,'30',66,30,199,455,30,60]
>>> del a[6]
>>> a
[100, 200, '30', 66, 30, 199, 30, 60]
#pop()		针对索引
>>> a.pop()
60
>>> a
[100, 200, '30', 66, 30, 199, 30]
>>> a.pop(0)
100
>>> a
[200, '30', 66, 30, 199, 30]
#remove(),针对具体元素
>>> a.remove(30)
>>> a
[200, '30', 66, 199, 30]
列表元素访问和计数
>>> a.index('30')		#索引
1
>>> a.count(30)			#计数
1
>>> len(a)				#长度
5
>>> 20 in a				#判断
False
列表切片
>>> a
[200, '30', 66, 199, 30]
>>> a[1:]
['30', 66, 199, 30]
>>> a[1:3]
['30', 66]
>>> a[-3:-1]
[66, 199]
>>> a[:-1]
[200, '30', 66, 199]
列表遍历
for obj in listObj:
print(obj)
列表排序
  • sort()排序
>>> a = [1,3,6,0,5,4,2]
>>> a.sort()
>>> a
[0, 1, 2, 3, 4, 5, 6]
>>> a.sort(reverse = True)
>>> a
[6, 5, 4, 3, 2, 1, 0]
  • 内置函数sorted()排序
>>> sorted(a)		#生成新列表,原列表不变,默认升序
[0, 1, 2, 3, 4, 5, 6]
>>> a
[6, 5, 4, 3, 2, 1, 0]

小疑问:sort()不返回值,只是一个方法;而sort()返回值,是一个函数。

二维列表
a = [
    ['sxl',21,1000],
    ['yq',21,500]
]
元组

列表可变,元组不可变

  1. 索引访问
  2. 切片操作
  3. 连接操作
  4. 成员关系操作
  5. 比较运算操作
  6. 计数:元组长度 len()、最大值 max()、最小值 min()、求和 sum()等
#元组创建

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/688762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号