【python核心编程】第六章 序列

1、操作符

(1)成员关系操作符:in 、not in

>>> string ='abcdefg'
>>> 'a' in string
True
>>> 'h' in string
False
>>> 'h' not in string
True

*补充知识*:string模块

>>> import string
>>> string.uppercase        #大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.lowercase        #小写字母
'abcdefghijklmnopqrstuvwxyz'
>>> string.letters            #所有字母
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits             #数字
'0123456789' 

(2)连接操作符:+

>>> char1 = '123456'
>>> char2 = '7890123'
>>> char1 + char2
'1234567890123'

>>> list1 = ['a','b','c','d']
>>> list2 = [1,2,3,4]
>>> list1 + list2
['a', 'b', 'c', 'd', 1, 2, 3, 4]

*补充知识*:join()

join()连接字符串

>>> s = ''.join(('Hello',' ','World'))
>>> s
'Hello World'

>>> b.upper()
'HELLO WORLD'

*补充知识*:字符串相加的习惯用法

>>> a = 'http://' 'www' '.baidu' '.com'
>>> a
'http://www.baidu.com'

(3)重复操作符:*

>>> a = '1'
>>> a*10
'1111111111'
>>> list = ['a','b','c']
>>> list*4
['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
>>> tuple = (1,2,3)
>>> tuple*4
(1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3)

(4)切片操作符:[]、[:]、[::]

  • 正向索引
  • 反向索引
  • 默认索引
正向索引0123456
 序列abcdefg
反向索引-7-6-5-4-3-2-1

 

 

 

------正向索引------

如上,正向索引时,索引值从0开始,结束于总长度减1,[start,end]可以访问到包括start在内到end(不包含end)的所有字符,所以索引值有start <= x <end。

如果开始索引和结束索引没有指定,则分别以字符串的第一个和最后一个索引值为默认值。

>>> str = 'abcdefg'

整个序列
>>> str
'abcdefg'
>>> str[:]
'abcdefg'

从第一个元素开始

>>> str[0:3]
'abc'
>>> str[:3]
'abc'

到最后一个元素结束

>>> str[2:7]
'cdefg'
>>> str[2:]
'cdefg'

序列切片

>>> str[2:5]
'cde'
>>> str[3]
'd'

------反向索引-------

反向索引最末的一个索引值定义: final_index = -len(str)

>>> str[-7]
'a'
>>> str[-7:-1]
'abcdef'

(5)扩展切片操作:[::]

>>> list = 'abcdef'
>>> list[::-1]    #翻转操作
'fedcba'
>>> list[::2]     #隔一个取一个
'ace'

 (6)比较

 字符串做比较是按照ASCII值的大小来比较的。

>>> str1 = 'abc'
>>> str2 = 'def'

>>> str3 = 'xyz'

>>> str1 < str2
True
>>> str1 > str3
False
>>> str1 != str3
True
>>> str1 == 'xyz'
False

(7)补充更多内容

切片操作的开始和结束索引值可以超过字符串的长度,换句话说,起始索引可以小于0,而对于结束索引,即使索引值为100的元素并不存在也不会报错,举例:

>>> list = 'abcdef'

>>> list[1:100]
'bcdef'

2、字符串

(1)python里面单引号和双引号的作用是相同的。

(2)字符串跟数字类型一样是不可变的,也就是说不能改变一个字符串的一个字符或者一个子串,要改变一个字符串就必须重新创建一个新串,但是通过拼凑一个旧串的各个部分来得到一个新串是被允许的,如下:

>>> aString = 'Hello World'
>>> aString = aString[:6] + 'Python'
>>> aString
'Hello Python'

(3)删除字符和字符串

强调字符串是不可变的,所以你不能仅仅删除一个字符串中的一个字符,允许的操作为:

a.赋一个空字符串或者用del语句删除一个字符串;

>>> del aString
>>> aString
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'aString' is not defined

b.剔除不需要的字符后将原字符串重新组合形成一个新串

>>> aString = 'Hello World'
>>> aString = aString[:3] + aString[4:]
>>> aString
'Helo World'

 

 

 

转载于:https://www.cnblogs.com/tonto/p/3818543.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java物业管理系统设计,JAVA物业管理系统设计与实现(论文+源代码)

【实例简介】JAVA物业管理系统设计与实现(论文源代码)【实例截图】【核心代码】JAVA物业管理系统设计与实现(论文源代码)└── JAVA物业管理系统设计与实现(论文源代码)├── JAVA物业管理系统设计与实现(论文源代码)│ ├── JAVA物业管理系统│ │ ├── JWS│ │…

MyEclipse 编写 ExtJS 卡死问题解决方法

MyEclipse 8.6 在 jsp 中编写 ExtJS时&#xff0c;会出现卡死现象&#xff0c;让人甚是头疼。网上找了很多方法&#xff0c;折腾半天&#xff0c;还是不管用。 什么MyEclipse 优化&#xff0c;Validation 取消&#xff0c;MyEclipse 在 JSP 中打 "点" 时&#xff0…

matlab试用版的user id,免费试用MATLAB

请选择其一AlabamaAlaska美属萨摩亚APO/FPO AAAPO/FPO AEAPO/FPO APArizonaArkansasCaliforniaCaroline IslandsColoradoConnecticutDelawareDistrict of ColumbiaFlorida格鲁吉亚关岛HawaiiIdahoIllinoisIndianaIowaKansasKentuckyLouisianaMaineMariana Islands马绍尔群岛Mar…

java的aqs是什么,AQS在Java中的应用

上篇文章我们详细分析了AQS的底层实现原理,这节就来探索jdk中使用AQS实现的工具类ReentrantLock一, 是什么?怎么用?是什么?是一个独占锁,也就是在并发环境下同一时刻只能有一个线程获得资源,也是一个可重入锁.可重入锁: 一个线程已经获取到了该资源,下次再次获取资源时不会出…

jasper 获取当前日期_入侵Jasper以获取JSP页面的对象模型

jasper 获取当前日期为了对我的JSP执行一些检查和统计分析&#xff0c;我需要一个包含在其中的元素的类似于DOM的层次模型。 但是&#xff0c;解析JSP页面并不是一件容易的事&#xff0c;最好留给它一个出色的工具-Tomcat&#xff0c;Jetty&#xff0c;GlassFish以及其他所有工…

php怎么把字符转成大写,php怎么把字符串转换为大写

php把字符串转换为大写的方法&#xff1a;可以利用内置函数strtoupper()来进行转换。strtoupper()函数可以把指定的字符串转换为大写&#xff0c;并返回被转换为大写的字符串。使用函数&#xff1a;(学习视频推荐&#xff1a;php视频教程)strtoupper() 函数把字符串转换为大写&…

C#开发 —— 基础知识

C# 用于开发可以运行在 .Net 平台上的应用程序&#xff0c;C# 本身只是一种语言&#xff0c;尽管它是用于生成面向 .Net 环境的代码&#xff0c;但它本身不是 .Net 的一部分 Console.WriteLine 命名空间 —— using 指令将命名空间名所标识的命名空间内的类型成员导入到当前编译…

JMS 2.0的新增功能

这篇文章列出了JMS 2.0 &#xff08; Java EE 7平台的一部分&#xff09;引入的所有新API&#xff08;接口/类/注释等&#xff09;。 这些分类如下 API简化 使用方便 异常处理 杂 这是一个简短的摘要以及一些代码片段 API简化 JMSContext 在Connection和Session对象之上…

oracle存储过程与函数的区别及作用,Oracle存储过程与存储函数-入门

文章思维导图一. 存储过程和存储函数的定义定义&#xff1a;存储在数据库中&#xff0c;供所有用户程序调用的子程序叫做存储过程/存储函数。复杂点的解释&#xff1a;存储过程(Stored Procedure)&#xff0c;就是一组用于完成特定数据库功能的SQL 语句集&#xff0c;该SQL语句…

CC++初学者编程教程(8) VS2013配置编程助手与QT

1. 2. 配置编程助手 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19&#xff0e; 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30&#xff0e; 31. 32&#xff0e; 33. 34. 35. 36. 37. 38. 39 40 41 42 43 这个时候我们就在VS2013里面集成了QT&#xff0c;编程助…

java内存模型概述_Java内存模型-快速概述和注意事项

java内存模型概述在计算中&#xff0c; 内存模型描述了线程如何通过内存交互&#xff0c;或更一般地&#xff0c;它指定了为分段内存或分页内存平台生成代码时允许编译器进行的假设。 在给定程序和该程序的执行跟踪的情况下&#xff0c;它实质上描述了执行跟踪是否是该程序的合…

oracle目录删除后恢复,Oracle删除后不能重新安装的解决方法

很多朋友只用了Oracle的删除&#xff0c;但很多情况下&#xff0c;他会发现重新安装时&#xff0c;点了下一步安装界面就消失了&#xff0c;往往无奈下只好重装系统&#xff0c;其实只是你数据库没删干净&#xff0c;删干净就不会出现这种情况了。实现方法&#xff1a;1、 开始…

jquery简单实现树形结构收缩展开效果

代码量很少&#xff0c;注意要取消冒泡 e.stopPropagation(); <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><title></title><style type"text/css">.child{ display: none;}li{ cu…

转子碰磨 matlab,航空科普:什么是航空发动机转子碰磨?

中国航空报讯&#xff1a;随着人们对航空发动机油耗、推重比等要求的逐步提高&#xff0c;提升航空发动机运行效率&#xff0c;尤其是提升民用航空发动机的经济性已经变得越来越重要。航空发动机的总体运行效率是气动效率、燃烧效率、冷却效率与机械效率等共同决定的。其中&…

Android 自定义 ListView 显示网络上 JSON 格式歌曲列表

本文内容 环境 项目结构 演示自定义 ListView 显示网络上 JSON 歌曲列表 参考资料 本文最开始看的是一个国人翻译的文章&#xff0c;没有源代码可下载&#xff0c;根据文中提供的代码片段&#xff0c;自己新建的项目&#xff08;比较可恶的是&#xff0c;没有图标图片资源&…

oracle 索引invisible,Oracle index unusable和invisible的区别

invisible index会被优化器所忽略&#xff0c;但是dml操作仍然会维护索引。在session或者system级别使用参数OPTIMIZER_USE_INVISIBLE_INDEX摘录自Oracle 11g的官方文档&#xff1a;UNUSABLE Specify UNUSABLE to mark the index or index partition(s) or index subpartition(…

php16进制密钥签名对接支付,简单理解rsa的加密和签名-PHP实现

我们先动手在linux上生成一下rsaPs&#xff1a;openssl是一堆加密算法和安全协议的开源集合,像RSA,DES,MD5,RC4等等,都能在openssl里面找到源代码.用openssl指定生成test.key文件&#xff0c;其中包含公钥私钥&#xff0c;1024为生成密钥长度tbtb:~/mimi$ openssl genrsa -out …

angularjs 服务

内置服务 1、$timeout 2、$watch(obj,fun)&#xff1a; fun(newVal,oldVal,scope) //newVal是新改变的值&#xff0c;oldVal是旧值 3、$destroy()&#xff1a;作用域的销毁&#xff0c;如果子作用域不再有用了。那么子作用域的创建者就会负责用$destroy()来将它销毁。这回停止$…

java中字符和字节的转换_Java最佳实践–字符到字节和字节到字符的转换

java中字符和字节的转换在使用Java编程语言时&#xff0c;我们将继续讨论与建议的实践有关的系列文章&#xff0c;我们将讨论String性能调优。 特别是&#xff0c;我们将着重于使用默认编码时如何有效地处理字符到字节和字节到字符的转换。 本文总结了两种建议的自定义方法与两…

一个简单的单例模式的类

public class Singleton {private Singleton(){}private static Singleton instance;public static Singleton getInSingleton(){if(instance null){synchronized (Singleton.class) {if(instance null){instance new Singleton();}}}return instance;}}私有的构造方法不能别…