博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
05 数字、字符串、列表的常用操作
阅读量:5814 次
发布时间:2019-06-18

本文共 5907 字,大约阅读时间需要 19 分钟。

 

可变不可变类型 

可变类型:值改变,id不变-------改变原值

不可变类型:值改变,id-------生成新的值

不可变类型X=9print(id(x))   # 140708793148496X=10print(id(x))   # 140708793148528可变类型l = [‘a’,’b’,’c’]print(id(l))   # 2177056384136l[0]=’A’Print(l,id(l)) # ['A', 'b', 'c']  2177056384136

 

数字类型

整型int

1、用途:记录年龄、等级、数量

2、定义方式

  age = 10   # age=int(10)

  数据类型转换: 只能将纯数字的字符串转成int

x=int('123456')    print(x,type(x))  #123456 
x=int('12.3') # Value Error : invalid literal for int() with base 10: '12.3'

浮点型float

1、用途:记录身高、薪资、体重

2、定义方式

  salary = 10.1   # salary=float(10.1)

  数据类型转换: 只能将包含小数的字符串转成

x=float('3.1')print(x,type(x)) # 3.1 

 ----------------------------------------------------------------------------------------------------------

数字类型总结:

1、存一个值

2、不可变类型

 

字符串类型

1、用途:记录描述性质的状态  2、定义方式:在单引号、双引号、三引号内包含一串字符串   msg='hello'  # msg=str('hello') 数据类型转换:所有类型都可以被str转成字符串类型 res=str([1,2,3]) print(res,type(res)) 3、常用操作+内置的方法
*****3.1、按索引取值(正向取+反向取) :只能取msg='hello'print(msg[0],type(msg[0]))print(msg[-1])print(msg[-2])  h 
  o   lmsg[0]='H' # 只能取 TypeError: 'str' object does not support item assignment3.2、切片(顾头不顾尾,步长)msg='hello world'res=msg[0:3:1] # 0 1 2print(res)print(msg)   hello world   helres=msg[:]res=msg[::2] # 0 2 4 6 8 10print(res)   hlowrdmsg='hello world'res=msg[-1:-12:-1]res=msg[-1::-1]res=msg[::-1]print(res)  dlrow olleh 3.3、长度lenmsg='hello world'print(len(msg))   113.4、成员运算in和not in:判断一个子字符串是否存在于大字符串中msg='kevin is dsb'print('kevin' in msg)print('dsb' in msg)print('aaa' not in msg)print(not 'aaa' in msg) #取反   True   True   True   True3.5、移除空白strip: 用来去除字符串左右两边的字符,不指定默认去除的是空格 #strip 清除msg=' sies 'res=msg.strip()print(res,id(res))print(msg,id(msg))   sies 1352119010056       sies   1352119034864print('******eg**on*****'.strip('*'))  eg**onprint('***+-\/***egon#@$*****'.strip('*+-\/#@$'))   egonname=input('username>>>: ').strip() # name='egon 'pwd=input('password>>>: ').strip()if name == 'egon' and pwd == '123': print('login successful')else: print('输错了。。。')   清除输入词前后的空格3.6、切分split:针对有规律的字符串,按照某种分隔符切成列表info='egon:18:male'res=info.split(':')print(res,type(res))print(res[0],res[1])   cmd='get|a.txt|33333'print(cmd.split('|',1))用:号作连接符号将纯字符串的列表拼接成一个字符串l=['egon', '18', 'male'] # 'egon:18:male'res=l[0]+':'+l[1]+':'+l[2]res=':'.join(l)print(res)3.7、循环for item in 'hello': print(item)

 

****1、strip,lstrip,rstripprint('******egon***********'.strip('*'))print('******egon***********'.lstrip('*'))print('******egon***********'.rstrip('*'))2、lower,upperprint('Abc123'.lower())print('Abc123'.upper())3、startswith,endswithmsg='alex is dsb'print(msg.startswith('alex'))print(msg.endswith('b'))4、format的三种玩法res='my name is %s my age is %s' %('egon',18)print(res)res='my name is {name} my age is {age}'.format(age=18,name='egon')print(res)

 

***res='my name is {} my age is {}'.format('egon',18)res='my name is {0}{1} my age is {1}{1}{1}{1}'.format('egon',18)print(res)5、split,rsplitmsg='a:b:c:d'print(msg.split(':',1))print(msg.rsplit(':',1))6、replacemsg='kevin is kevin is hahahah'res=msg.replace('kevin','sb',1)print(res)7、isdigitprint('123123'.isdigit()) # 如果字符串是由纯数字组成的,则返回Trueprint('123123   '.isdigit())print('123123asdf'.isdigit())print('12312.3'.isdigit())score=input('>>>>: ').strip() #score='asdfasdfasfd'if score.isdigit():    score=int(score)    if score >= 90:        print('优秀')    else:        print('小垃圾')else:    print('必须输入纯数字')

 

了解的操作1、find,rfind,index,rindex,countprint('123 ke123ke'.find('ke'))print('123 ke123ke'.rfind('ke'))print('123 ke123ke'.index('ke'))print('123 ke123ke'.rindex('ke'))print('123 ke123ke'.find('xxxx'))print('123 ke123ke'.index('xxxx'))print('123 ke123ke'.count('ke',0,6))2、center,ljust,rjust,zfillprint('egon'.center(50,'*'))print('egon'.ljust(50,'*'))print('egon'.rjust(50,'*'))print('egon'.rjust(50,'0'))print('egon'.zfill(50))3、captalize,swapcase,titleprint('abcdef dddddd'.capitalize())print('abcAef dddddd'.swapcase())print('abcAef dddddd'.title())4、is数字系列num1=b'4' #bytesnum2='4' #unicode,python3中无需加u就是unicodenum3='四' #中文数字num4='Ⅳ' #罗马数字bytes与阿拉伯数字组成的字符串print(num1.isdigit())print(num2.isdigit())print(num3.isdigit())print(num4.isdigit())阿拉伯数字组成的字符串print(num2.isdecimal())print(num3.isdecimal())print(num4.isdecimal())阿拉伯数字\中文\罗马组成的字符串print(num2.isnumeric())print(num3.isnumeric())print(num4.isnumeric())5、is其他======================================该类型总结====================================存一个值有序不可变msg='                  hello  'msg.strip()print(msg)

 

列表类型

 

1、用途:按照位置记录多个值,索引对应值

2、定义方式:在[]内用逗号分隔开多个任意类型的值

  l=['a',11,11.3,] # l=list(['a',11,11.3,])

  数据类型转换:但凡能够被for循环遍历的数据类型都可以传给list,被其转换成列表

  res=list('hello')

  res=list(123)

  print(res)

 

  res=list({'a':1,'b':2,'c':3})  # []

  print(res)

3、常用操作+内置的方法

 

***** 3.1、按索引存取值(正向存取+反向存取):即可存也可以取l=['a','b','c','d','e']print(l[0])print(l[-1])print(id(l))l[0]='A'print(id(l))强调强调强调!!!:对于不存在的索引会报错l[5]='AAAA'dic={"k1":111}dic['k2']=2222print(dic)3.2、切片(顾头不顾尾,步长)l=['a','b','c','d','e']print(l[1:4])print(l[::-1])3.3、长度l=['a','b','c','d','e']print(len(l))3.4、成员运算in和not inl=['a','b','c','d','e']print('a' in l)3.5、追加与insertl=['a','b','c','d','e']l.append('xxx')l.append('yyy')print(l)l.insert(0,'xxxx')print(l)3.6、删除l=['a','bbb','c','d','e']del是一种通用的删除操作,没有返回值del l[0]print(l)dic={'k1':1}del dic['k1']print(dic)l.remove(指定要删除的那个元素),没有返回值res=l.remove('bbb')print(l)print(res)l.pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素l=['a','bbb','c','d','e']l.pop(-1)res=l.pop(1)print(l)print(res)3.7、循环l=['a','b','c','d','e']for item in l:    print(item)练习:队列:先进先出l=[]# 入队l.append('first')l.append('second')l.append('third')print(l)# 出队print(l.pop(0))print(l.pop(0))print(l.pop(0))堆栈:后进先出需要掌握的操作l=['aaa','bb',345]l.clear()l.append([1,2,3])for i in [1,2,3]:    l.append(i)l.extend([1,2,3])l.reverse()只有在类中中所有元素都是同种类型的情况下才能用sort排序l=[1,3,2]l.sort(reverse=True)l=['z','d','a']l.sort()print(l)=======================该类型总结=========================存多个值有序可变

 

转载于:https://www.cnblogs.com/zhouyongv5/p/10578495.html

你可能感兴趣的文章
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>
第四届中国汽车产业信息化技术创新峰会将于6月在沪召开
查看>>
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
js之无缝滚动
查看>>
Django 多表联合查询
查看>>
logging模块学习:basicConfig配置文件
查看>>
Golang 使用 Beego 与 Mgo 开发的示例程序
查看>>
ntpdate时间同步
查看>>
+++++++子域授权与编译安装(一)
查看>>
asp.net怎样在URL中使用中文、空格、特殊字符
查看>>
ASA5585-S20测试方案
查看>>
路由器发布服务器
查看>>