基础知识回顾——元组和字符串

本文详细介绍了Python中元组和字符串的基本概念与使用方法,包括元组的特点、创建及操作,以及字符串的方法如find()、join()、replace()、split()、strip()等。

元组

元组是一种序列,特点是不能修改,且没有方法,通用序列的操作对元组都适用。

 1 >>> 1,2,3  #创建元组,用逗号分隔
 2 (1, 2, 3)
 3 >>> 42,    
 4 (42,)
 5 >>> 3*(40+2)
 6 126
 7 >>> 3*(40+2,)
 8 (42, 42, 42)
 9 
10 tuple = ('apple','banana','grape','orange')   #元组的打包和解包
11 >>> a,b,c,d = tuple
12 >>> print a,b,c,d
13 apple banana grape orange

 

字符串

字符串是一种特殊的元组,和元组不同的是字符串有方法,通用的序列操作对字符串同样适用。 

字符串方法:

1)find:在一个较长的字符串中,返回子串所在位置的最左端索引,没有找到则返回-1

1 >>> string = "python is not python"
2 >>> string.find('python')
3 0
4 >>> string.find('is')
5 7
6 >>> string.find('me')
7 -1

 

2)join:连接序列中的元素

 1 >>> dirs = ' ','users','bin'
 2 >>> '/'.join(dirs)
 3 ' /users/bin'
 4 
 5 >>> seq1 = ['1','2','3','4','5']    
 6 >>> '-' .join(seq1)
 7 '1-2-3-4-5'

 

3)lower:返回字符串的小写字母版(其他版本capitalize、upper、title)

1 >>> strings ="hello PYTHON"
2 >>> strings.lower()
3 'hello python'
4 >>> strings.upper()
5 'HELLO PYTHON'
6 >>> strings.title()
7 'Hello Python'
8 >>> strings.capitalize()
9 'Hello python'

 

4)replace:返回某个字符串的所有匹配项均被替换之后的字符串

1 >>> 'this is a test'.replace('is','eez')
2 'theez eez a test'

 

5)split:join的逆方法,用来将字符串分割成序列

1 >>> ' /user/bin'.split('/')
2 ['', 'user', 'bin']
3 >>> 'useing python and c'.split()    #如果不提供分隔符,程序会把所有的空格作为分隔符
4 ['useing', 'python', 'and', 'c']

 

6)strip:返回去除两侧(不包括内部)空格的字符串

1 >>> title = " !+ happy days !+  "  #前无空格,后有空格
2 >>> title.strip()
3 '!+ happy days !+'
4 >>> title.strip('!+')    #'!+'无空格
5 ' !+ happy days !+  '
6 >>> title.strip(' !+ ')  #'!+'有空格
7 'happy days'

 

tip:可以通过help()查看说明文档

>>> help(tuple)
Help on class tuple in module __builtin__:

class tuple(object)
 |  tuple() -> empty tuple
 |  tuple(iterable) -> tuple initialized from iterable's items
 |  
 |  If the argument is a tuple, the return value is the same object.
 |  
 |  Methods defined here:
 |  
 |  __add__(...)
 |      x.__add__(y) <==> x+y
 |  
 |  __contains__(...)
 |      x.__contains__(y) <==> y in x
 |  
 |  __eq__(...)
 |      x.__eq__(y) <==> x==y
 |  
 |  __ge__(...)
 |      x.__ge__(y) <==> x>=y
 |  
 |  __getattribute__(...)
 |      x.__getattribute__('name') <==> x.name
 |  
 |  __getitem__(...)
 |      x.__getitem__(y) <==> x[y]
 |  
 |  __getnewargs__(...)
 |  
 |  __getslice__(...)
 |      x.__getslice__(i, j) <==> x[i:j]
 |      
 |      Use of negative indices is not supported.
 |  
 |  __gt__(...)
 |      x.__gt__(y) <==> x>y
 |  
 |  __hash__(...)
 |      x.__hash__() <==> hash(x)
 |  
 |  __iter__(...)
 |      x.__iter__() <==> iter(x)
 |  
 |  __le__(...)
 |      x.__le__(y) <==> x<=y
 |  
 |  __len__(...)
 |      x.__len__() <==> len(x)
 |  
 |  __lt__(...)
 |      x.__lt__(y) <==> x<y
 |  
 |  __mul__(...)
 |      x.__mul__(n) <==> x*n
 |  
 |  __ne__(...)
 |      x.__ne__(y) <==> x!=y
 |  
 |  __repr__(...)
 |      x.__repr__() <==> repr(x)
 |  
 |  __rmul__(...)
 |      x.__rmul__(n) <==> n*x
 |  
 |  count(...)
 |      T.count(value) -> integer -- return number of occurrences of value
 |  
 |  index(...)
 |      T.index(value, [start, [stop]]) -> integer -- return first index of value.
 |      Raises ValueError if the value is not present.
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |  
 |  __new__ = <built-in method __new__ of type object>
 |      T.__new__(S, ...) -> a new object with type S, a subtype of T

 

总结:元组不可变,没有方法

   字符串特殊元组,不可变,有find()、join()、replace()、split()、strip()等方法

 

转载于:https://www.cnblogs.com/Ryana/p/5967905.html

第3关:格式化打印游标结果 300 学习内容 参考答案 记录 问答5 任务描述 相关知识 1.游标结果 2.游标结果的格式化 编程要求 测试说明 任务描述   上一关打印的游标结果为: (('information_schema',), ('mysql',), ('performance_schema',))   这命令行里面看到的结果是一致的,如下图所示:   但游标打印的结果显然不方便查看,因此本关的任务是对游标结果进行格式化打印(如下所示),使其更加方便查看。 -----3 records----- information_schema mysql performance_schema 相关知识 1.游标结果   先来分析下,(('information_schema',), ('mysql',), ('performance_schema',))到底是什么。   首先要明确一下,SQL语句的执行结果是什么结构。其实都是二维表格的形式(即“关系”),而show databases的结果就是一个只有1列的表格。   其次要回忆一下,在Python中一般用什么结构来表示表格。是嵌套列表,如“网页抓取及信息提取IV——提取历年录取分数数据”等实训中,我们就是用嵌套列表来存放表格数据的。   最后来看下,游标结果到底是什么。圆括号表示的结构是元组(见“数字图像——绿幕抠像”实训第1关),因此,游标是采用嵌套元组(类似嵌套列表,见“问题求解——嵌套列表”实训)来存放结果的,它的每一个元素(即“小元组”)对应了表格中的一行,“小元组”中的每个元素对应了行中的单元格。   下面给出的是desc grade命令的命令行结果游标结果,能够更加清楚的展示两者之间的对应关系。 2.游标结果的格式化   要使游标结果更便于查看,其实并不难,把每个“小元组”中的内容单独打印到一行,其中“小元组”中的元素用制表符分隔,下面给出的是参考代码。 T=(('ybx', 'int(11)', 'YES', '', None, ''), ('jsMax', 'int(11)', 'YES', '', None, ''), ('jsMin', 'int(11)', 'YES', '', None, ''), ('jsAvg', 'int(11)', 'YES', '', None, '')) for t in T: #对每个小列表t t = [str(v) for v in t] #将t中的元素都转换成字符串 s = '\t'.join(t) #用制表符拼接t中的各个元素 print(s)   程序运行结果如下,看起来就比较像一个表格了。 ybx int(11) YES None jsMax int(11) YES None jsMin int(11) YES None jsAvg int(11) YES None   当然,你还可以再优化下打印的结果,打印出类似命令行界面的显示格式(如下所示),这可以当作是一个拓展习题。 +-------+-----------+------+-----+---------+-------+ | ybx | int(11) | YES | | NULL | | | jsMax | int(11) | YES | | NULL | | | jsMin | int(11) | YES | | NULL | | | jsAvg | int(11) | YES | | NULL | | +-------+-----------+------+-----+---------+-------+ 编程要求   在Begin-End区间补全代码,其功能是格式化打印游标结果,要求如下:   1)开始处打印游标结果中有多少条记录,即多少个“小元组”;   2)把每个“小元组”中的内容单独打印到一行,“小元组”中的元素用制表符分隔。 测试说明   如果出现以下报错:   pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")   请点击右上角重置代码仓库。   程序正确结果是
最新发布
03-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值