您的位置:首页 > 编程语言 > Python开发

Python中tuple格式化字符串

2014-08-12 12:59 393 查看

4.1 元组定义:

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

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

#一般元组

>>> 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函数

说明:以一个序列为参数,将其转换为元组;
例子:

>>> 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/python

tup1 = ('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]:  physics
tup2[1:5]:  [2, 3, 4, 5]

更新元组:

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

例如:

#!/usr/bin/python

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');

# Following action is not valid for tuples
# tup1 += tup2;

# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;

这将输出以下结果:

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



删除元组的元素:

删除单个元组元素是不可能的。有,当然,把另一个丢弃不需要的元素的tuple没有错。

要明确地删除整个元组,只需使用del语句:

例如:

#!/usr/bin/python

tup= ('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/python

print '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) xyz
Value 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)




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: