上QQ阅读APP看书,第一时间看更新
3.3.2 元组的基本操作
元组也有一些属于自己的基本操作,如访问元组、元组组合、删除元组、索引和截取等操作。修改元组、删除元组和截取元组等操作和列表中的操作有一些不同。
1.访问元组
元组的访问比较简单,直接通过索引下标即可访问元组中的值,在交互模式下输入:
>>> strnum=('hi','python',2017,2018) >>> print('strnum[1] is:',strnum[1]) strnum[1] is: python >>> print('strnum[3] is:',strnum[3]) strnum[3] is: 2018 >>> numbers=(1,2,3,4,5,6) >>> print('numbers[5] is:',numbers[5]) numbers[5] is: 6 >>> print('numbers[1:3] is:',numbers[1:3]) numbers[1:3] is: (2, 3)
由输出结果可以看到,元组的访问是比较简单的,和列表的访问类似。
访问元组是比较普通的应用,也是元组必备的功能。
2.修改元组
在前面已经明确指出,元组中的元素不允许修改,但是可以对元组进行连接组合,在交互模式下输入:
>>> greeting=('hi','python') >>> yearnum=(2018,) >>> print ("合并结果为: ", greeting+yearnum) 合并结果为: ('hi', 'python', 2018)
由输出结果可以看到,可以对元组进行连接组合操作。
这里读者可能会奇怪元组怎么可以进行组合,其实元组连接组合的实质是生成了一个新的元组,并非是修改了原本的某一个元组。
3.删除元组
在前面已经明确指出,元组中的元素不允许修改,删除也属于修改的一种,也就是说,元组中的元素是不允许删除的,但可以使用del语句删除整个元组,在交互模式下输入:
>>> greeting=('hi','python') >>> greeting ('hi', 'python') >>> print('删除元组greeting前:',greeting) 删除元组greeting前: ('hi', 'python') >>> del greeting >>> print('删除元组greeting后:',greeting) Traceback (most recent call last): File "<pyshell#281>", line 1, in <module> print('删除元组greeting后:',greeting) NameError: name 'greeting' is not defined >>> greeting Traceback (most recent call last): File "<pyshell#282>", line 1, in <module> greeting NameError: name 'greeting' is not defined
由以上输出结果可以看到,可以删除元组,元组被删除后,若继续访问元组,程序会报错,报错信息告诉我们greeting没有定义,即前面定义的变量在这个时候已经不存在了。所以元组虽然不可以修改,但是整个元组可以被删除。
4.元组的索引和截取
元组也是一个序列,可以通过索引下标访问元组中指定位置的元素,也可以使用分片的方式得到指定的元素。元组通过分片的方式得到的序列结果也是元组。在交互模式下输入:
>>> field=('hello','world','welcome') >>> field[2] 'welcome' >>> field[-2] 'world' >>> field[1:] ('world', 'welcome')