热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

字符串常用功能和列表元组的基本操作

字符串的常用功能:1.移除空白2.分割3.长度4.索引5.切片例:1.移除空白,在代码后面加入.strip(),也可以在括号里添加想要去除

字符串的常用功能:

1.移除空白

2.分割

3.长度

4.索引

5.切片

 

例:

1.移除空白,在代码后面加入.strip(),也可以在括号里添加想要去除的代码

name = input("name:").strip()
age = int(input("age:"))
job = input("job:")

msg='''Infomation of %s:
    name:   %s
    age:    %d
    job:    %s
'''%(name,name,age,job)
print(msg)

name:             panzhonglv
age:        22
job:        it
Infomation of panzhonglv:
    name:   panzhonglv
    age:    22
    job:            it

 

列表的基本操作:

dir(name_list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append'(追加), 'clear'(清空列表), 'copy'(拷贝), 'count'((统计)), 'extend'(扩展), 'index'(索引), 'insert'(插入), 'pop'(删除), 'remove'(删除指定的一个), 'reverse'(反转), 'sort'(排序)]

 

>>> name_list = ['alex','panzl','chaoge','aoyun']
>>> name_list
['alex', 'panzl', 'chaoge', 'aoyun']

取出'panzl',在取出'aoyun',在取出'alex'

>>> name_list[1]
'panzl'

>>> name_list[3]
'aoyun'
>>> name_list[0]
'alex'

列表相对于变量的好处:可以存多个信息,变量一般只存一个字符串一个数字,信息量有限,通过列表可以存多个,变量虽然可以存多个变量,但是不能单独取出,无法调用

PYTHON中每个元素都会对应一个编号,也就是下标,当在列表中取值时,通过对应的下标,就可以取出来。

追加 append

例:

>>> name_list.append('hongwei')
>>> name_list
['alex', 'panzl', 'chaoge', 'aoyun', 'hongwei']
>>> name_list.append('panzl')  #还可以添加重名
>>> name_list
['alex', 'panzl', 'chaoge', 'aoyun', 'hongwei', 'panzl']

索引

把列表中panzl取出来,很简单,但当列表有5000个,甚至更多是,就需要找到对应的索引值

比如我们要找'panzl'的索引值时就可以:

>>> name_list.index('panzl')
1

找到了,index就会显示最先找到的那个也就是1,但是它只返回了一个,但后面还有一个,那这时就要通过count来统计

>>> name_list.count('panzl')
2

 

 插入  insert

比如在'panzl'后面插入另一个字符串

例如:

>>> name_list.insert(2,'jibw')
>>> name_list
['alex', 'panzl', 'jibw', 'chaoge', 'aoyun', 'hongwei', 'panzl']

 

删除

pop是从最后一个开始删除

>>> name_list
['alex', 'panzl', 'jibw', 'chaoge', 'aoyun', 'hongwei', 'panzl']
>>> name_list.pop()
'panzl'
>>> name_list
['alex', 'panzl', 'jibw', 'chaoge', 'aoyun', 'hongwei']

 

li = list([1,2,3])
print(li)
ret = li.pop(0)
print(li)
print(ret)

结果
[1, 2, 3]
[2, 3]
1

remove是指定删除一个

>>> name_list.remove('jibw')
>>> name_list
['alex', 'panzl', 'chaoge', 'aoyun', 'hongwei']
>>>

如何把指定删除多个相同的元素,比如删除'aoyun'

>>> name_list.insert(5,'aoyun')
>>> name_list.insert(2,'aoyun')
>>> name_list
['alex', 'aoyun', 'aoyun', 'chaoge', 'hongwei', 'panzl', 'aoyun']

>>> for i in range(name_list.count('aoyun')):
    name_list.remove('aoyun')

 

反转 reverse

>>> name_list
['alex', 'panzl', 'chaoge', 'aoyun', 'hongwei']
>>> name_list.reverse()
>>> name_list
['hongwei', 'aoyun', 'chaoge', 'panzl', 'alex']

sort 排序,根据ASCLL码来排序的

>>> name_list
['hongwei', 'aoyun', 'chaoge', 'panzl', 'alex']
>>> name_list.sort()
>>> name_list
['alex', 'aoyun', 'chaoge', 'hongwei', 'panzl']

 

切片

>>> a = [1,2,3,'a','b']
>>> a
[1, 2, 3, 'a', 'b']
>>> a.sort()
Traceback (most recent call last):
  File "", line 1, in
    a.sort()
AttributeError: 'tuple' object has no attribute 'sort'
>>> a.insert(1,6)
>>> a
[1, 6, 2, 3, 'a', 'b']

>>> a[0:2]   #顾首不顾尾
[1, 6]
>>> a.insert(3,4)
>>> a
[1, 6, 2, 4, 3, 'a', 'b']

>>> a[1:5:3]    #跳着切片
[6, 3]

>>> a[-2:] #倒着切片
['a', 'b']

>>> b = a[0:5]   #在python3中sort排序数字和字符串一起会报错,我们可以用切片方式分开
>>> b
[1, 6, 2, 4, 3]
>>> b.sort()
>>> b
[1, 2, 3, 4, 6]

长度

extend   扩展列表

>>> a.extend(b)
>>> a
[1, 6, 2, 4, 3, 'a', 'b', 1, 2, 3, 4, 6]

循环

包含

>>> a = [1,6,2,4,3,'a','b',1,2,3,4,6]
>>> a
[1, 6, 2, 4, 3, 'a', 'b', 1, 2, 3, 4, 6]
>>> 4 in a
True          #判断4是否在a中,True就为真

 

元组  (元组能做的事,列表都能做,实际意义在于希望别人不要改)

>>> t = (1,2,3,4)

(1, 2, 3, 4)
>>> dir(t)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

元组和列表之间的转换

>>> type(t)

>>> list(t)
[1, 2, 3, 4]
>>> tuple(a)
(1, 6, 2, 4, 3, 'a', 'b', 1, 2, 3, 4, 6)
>>> list(a)
[1, 6, 2, 4, 3, 'a', 'b', 1, 2, 3, 4, 6]

 

转:https://www.cnblogs.com/hongweipython/p/8602454.html



推荐阅读
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
author-avatar
hedongsheng
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有