Python中tuple格式化字符串

               

4.1 元组定义:

  1. 说明:元组不可以修改,一般用圆括号括起来
  2. 例子:

元组的定义:使用圆括号括起来,元素之间用逗号分隔;空的圆括号表示空元组;当只有一个元素时,必须以逗号结尾。

#一般元组>>> 1,2,3(1, 2, 3)>>> (1,2,3)(1, 2, 3)#一个元素的元组>>> (1,)(1,)>>> 2,(2,)#空元组>>> ()()>>> #元组的乘法>>> 4* (2,)(2, 2, 2, 2)>>> 

4.2 tuple函数

  1. 说明:以一个序列为参数,将其转换为元组;
  2. 例子:
>>> tuple("CONSTANT")('C', 'O', 'N', 'S', 'T', 'A', 'N', 'T')>>> tuple(list("CONST"))('C', 'O', 'N', 'S', 'T')>>> 

 

 

 

创建一个tuple是简单,只要把不同的逗号分隔值可选,你可以把这些括号逗号分隔值。例如:

tup1 = ('physics', 'chemistry', 1997, 2000);tup2 = (1, 2, 3, 4, 5 );tup3 = "a", "b", "c", "d";

空的tuple包含两个没有括号写:

tup1 = ();

写一个包含一个单一的价值,你必须包含一个逗号,即使是只有一个值:

tup1 = (50,);

字符串的索引一样,元组指数从0开始,元组可以被切片,串联等。

访问元组中的值:

要访问的tuple值,使用指数或指数切片获得的价值在该指数的方括号:
例如:

#!/usr/bin/pythontup1 = ('physics', 'chemistry', 1997, 2000);tup2 = (1, 2, 3, 4, 5, 6, 7 );print "tup1[0]: ", tup1[0]print "tup2[1:5]: ", tup2[1:5]

 这将输出以下结果:

tup1[0]:  physicstup2[1:5]:  [2, 3, 4, 5]

更新元组:

元组是不可改变的,这意味着你不能更新或改变元组元素的值。但是,我们能够能够利用现有的元组的部分如下创建一个新的元组:
例如:

#!/usr/bin/pythontup1 = (12, 34.56);tup2 = ('abc', 'xyz');# Following action is not valid for tuples# tup1 += tup2;# So let's create a new tuple as followstup3 = tup1 + tup2;print tup3;

 这将输出以下结果:

(12, 34.56, 'abc', 'xyz')


删除元组的元素:

删除单个元组元素是不可能的。有,当然,把另一个丢弃不需要的元素的tuple没有错。
要明确地删除整个元组,只需使用del语句:
例如:

#!/usr/bin/pythontup = ('physics', 'chemistry', 1997, 2000);print tup;del tup;print "After deleting tup : "print tup;

这将输出以下结果:

('physics', 'chemistry', 1997, 2000)After deleting tup :Traceback (most recent call last):  File "test.py", line 9, inprint tup;NameError: name 'tup' is not defined

基本操作元组:

元组的回应很像字符串+和*运算符,他们在这里的意思串联重复太多,但结果是一个新的tuple,而不是一个字符串。
事实上,元组应对所有在之前的章节,我们对字符串使用的一般顺序操作:

Python表达式 结果 描述
len((1, 2, 3)) 3 Length
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) Concatenation
['Hi!'] * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') Repetition
3 in (1, 2, 3) True Membership
for x in (1, 2, 3): print x, 1 2 3 Iteration

 


索引,切片,和矩阵:

因为元组序列,索引和切片工作,以同样的方式,为他们做字符串的元组。

假设下面的输入:

L = ('spam', 'Spam', 'SPAM!')


 

Python 表达式 结果 描述
L[2] 'SPAM!' Offsets start at zero
L[-2] 'Spam' Negative: count from the right
L[1:] ['Spam', 'SPAM!'] Slicing fetches sections


 

没有围护分隔符:

任何多个对象的集合,以逗号分隔,没有识别符号写的,也就是说,括号内的元组的列表,括号等,默认元组,因为在这些短期的例子表明:

#!/usr/bin/pythonprint 'abc', -4.24e93, 18+6.6j, 'xyz';x, y = 1, 2;print "Value of x , y : ", x,y;print var;

这将输出以下结果:

abc -4.24e+93 (18+6.6j) xyzValue of x , y : 1 2

 

 

 

result = '%s%s' % (self._root, self._key)

偶尔格式化字符串时会加入tuple,我一直弱弱地这么做:

 
1 tup = (1,2)
2 'tup:(%d, %d)' % (tup[0], tup[1])

或者这么做

 
1 tup = (1,2)
2

'tup: %s'% str(tup)

 

           

猜你喜欢

转载自blog.csdn.net/qq_44910432/article/details/89342440