python元组的定义方式_Python元组与迭代for

9 元组与for循环

之前讲述的列表、字符串都是有序集合类型,元组tuple也是有序集合,和list列表、字符串一样可以通过索引index即位置信息来访问元组的各个元素,与list不同的是元组tuple是只读的,不可通过index方式去修改某位置上的数据值,即只可以做表达式的右值而不能做左值。

9.1 元组基础

元组的定义

定义一个元组很简单,将一堆数据用圆括号括起来,用逗号间隔各个元素即可定义一个元组,元组里的数据是只读的不可被修改。

变量名 = (元素值序列)

索引访问元组语法

定义好了元组以后可以通过元组名+index的方式读元组里某位置上的数据,语法格式如下所示。

元组名[index]

例1 定义、使用元组

a = (12,45, 67, 98)

print a[0]

a[0] = 21

print a[0]

运行程序得到如下内容:

12

Traceback (most recent call last):

File "tuple.py", line 3, in

a[0] = 21

TypeError: 'tuple' object does not support item assignment

从程序执行的结果,可以看到代码第3行有问题,由于a是元组,a[0]可以访问元组a的第0位置上的数据值,例如代码第2行,作右值。但不能修改该位置上的数据a[0] = 21试图修改元组a的第0位置上的即a[0]的值。

例子如果改为列表,程序是没有任何问题的,因为列表里的数据是可被修改的。

a = [12,45, 67, 98]

print a[0]

a[0] = 21

print a[0]

运行程序得到如下结果。

12

21

没有报错,因为列表可以通过索引index作左值(代码第3行)去修改index位置上的数据的值。

9.2 元组的应用

元组可以存储程序里只读的有序序列数据,但在Python里,元组通常是用于python访问数据库时从数据库提取回结果集时的数据类型,这个问题待数据库一节继续学习,这里就不提前剧透了。

9.3 for循环体

在计算机语言里常用的循环体结构除了while循环体外,还有一种简式循环体结构for循环体,python的for循环体和C语言的循环体有些不同。

c语言的for循环体

int i = 0;

for(i = 0; i < 10; i++){

printf("%d\n", i);

}

Python语言的循环体

for var in sequence:

print var

怎样理解Python的这个for循环体的结构呢?for 和in是for循环体的关键字,in 关键字后跟一个有序序列类型,每次从in后的sequence里取一个值付给for关键字后的变量var,in后的sequence有序类型的集合有多少个元素,for下的语句块就被执行多少次,这种遍历方式在Python里称迭代。

Python的for循环体语法结构需要注意两点:首先是sequence后要用冒号(:),其次是for下的语句块要按Tab键缩进对齐。

例2 打印1~100

a = range(1, 101)

print a[:10]

for x in a[:6]:

print x

运行程序得到如下结果。

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

1

2

3

4

5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值