【Python入门自学笔记专辑】——元组的创建、访问、遍历


附加程序:

创建元组

​ 元组是一种不可变的序列,一旦创建就不能修改。创建元组可以使用tuple([iterable])函数或直接用逗号“,”将元素分隔。

Python Shell实例代码

>>>21,32,43,45(21,32,43,45)
>>>(21,32,43,45)(21,32,43,45)
>>>a = (21,32,43,45)
>>>print(a)
(21,32,43,45)
>>>('Hello', 'World')('Hello', 'World')
>>>('Hello', 'World', 1, 2, 3)('Hello', 'World', 1, 2, 3)
>>>tuple([21,32,43,45])(21,32,43,45)

代码第①行创建了一个有4个元素的元组,创建元组时使用小括号把元素括起来不是必须的;

代码第②行使用小括号将元素括起来,这只是为了提高程序的可读性

代码第③行创建了一个字符型元组

代码第④行创建了一个字符串和整数混合的元组。Python中没有强制声明数据类型,因此元组中的元素可以是任何数据类型

另外,元组还可以使用tuple([iterable])函数创建,参数iterable可以是任何可迭代对象。代码第⑤行使用了tuple函数创建元组对象,实参[21, 32, 43, 45]是一个列表,列表是可迭代对象,可以作为tuple()函数参数创建元组对象。

创建元组还需注意极端情况:❗️

>>> a = (21)
>>> type(a)
<class 'int'>
>>> a = (21, )
>>> type(a)
<class 'tuple'>
>>> a = ()
>>> type(a)
<class 'tuple'>

访问元组

元组作为序列可以通过下标索引访问其中的元素,也可以对其进行分片

PythonShell实例:

>>>a = ('Hello', 'World', 1, 2, 3)>>>a[1]
'World'
>>>a[1:3]
('World', 1)
>>>a[2:]
(1, 2, 3)
>>>a[:2]
('Hello', 'World')

上述代码第①行是元组a,a[1]是访问元组的第二个元素,表达式a[1:3]、a[2:]和a[:2]都是分片操作


元组还可以进行拆包(Unpack)操作,就是将元组的元素取出给不同变量

PythonShell实例:

>>> a = ('Hello', 'World', 1, 2, 3)
>>> str1, str2, n1, n2, n3 = a
>>> str1
'Hello'
>>> str2
'World'
>>> n1
1
>>> n2
2
>>> n3
3
>>> str1, str2, *n = a
>>> str1
'Hello'
>>> str2
'World'
>>> n
[1, 2, 3]

*n可以直接获取剩余的元素

遍历元组

一般用for语句遍历元组,实例代码

#coding=utf-8
#!/usr/bin/python3


a = {21, 32, 43, 45}

for item in a:
    print(item)

print('--------')

for i, item in enumerate(a):
    print('{0} - {1}'.format(i, item))

运行结果:

21
32
43
45
--------
0 - 21
1 - 32
2 - 43
3 - 45

其中enumerate(a)函数可以获取元组对象

附加程序

#coding = utf-8

a = (20)
print(type(a))

a = (20,)
print(type(a))
#tuple

a = (20, 30, 40, 50, 60)
print(a)
print(a[1])
print(a[1:3])

a = ('Hello', 'World', 1, 2, 3)
str1, str2, n1, n2, n3 = a
print(str1)
print(str2)
print(n1, "", n2, "", n3)

str1, str2, *n = a
print(n)

[1:3])

a = (‘Hello’, ‘World’, 1, 2, 3)
str1, str2, n1, n2, n3 = a
print(str1)
print(str2)
print(n1, “”, n2, “”, n3)

str1, str2, *n = a
print(n)




原文地址:https://www.cnblogs.com/coding365/p/12592996.html