Python数据类型序列类型-元组使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wuq757693255/article/details/81161101

本文主要记录Python元组学习笔记,运行环境为Python3.6。
#一、普通的元组
##元组特点

  • 元组是个有序的序列,支持和字符串一样的分片和步距语法。
  • 元组和字符串一样是固定的类型,不能替换和删除其中包含的数据项
  • 元组中某一项为可变的数据类型对象时,可修改该项对象的值
    ##创建元组的方法
t=tuple()#空元组
print(type(t))

t=(1,2,3,2,4)
t1=(1,)#一个元素的元组的表示方法,注意连接一个元素的元组时,,号不可少。

##访问元组

print(t[1])

##元组的方法只有t.count(x)和t.index(x)


t.count(2) #统计对象2的个数

print(t.index(4))  #返回4在元组的最左边的位置,4

#元组中不存在X是返回ValueError错误
try:
	t.index(5)
except ValueError as err:
	print(err)
	

##元组支持的其它操作符

  • +(连接)、*(赋值)、[](切片)、in和not in(测试成员关系)、其它比较操作符如>=

  • 元组常用的一些编码风格,什么时候使用/不使用括号

#元组在二进制操作符左侧或者出现在单值语句右边时可省略括号。
a,b=(1,2) 
del a,b
def f(x):
	return x,x**2 #返回x和x的平方
print(f(3))

for x,y in ((1,1),(2,4)):
	print(x,y)
	

#二、命名的元组
命名的元组:基本功能和普通的一样,增加可以根据名称引用元组的项,这个功能可以帮助我们创建数据项的聚集

##创建自定义的元组数据类型(命名的元组)

#collections.namedtuple()返回自定义的数据类型
import collections
Sale=collections.namedtuple("Sale","product customerid date quantity price")

#第一参数为自定义的元组数据类型的名称,第二个参数为元组数据中的一项,使用空格分隔
sales=[]
sales.append(Sale(432, 922 ,"2008-01-01", 3,7.99))
sales.append(Sale(433,923,"2008-01-01",4,9.99))
total=0
for sale in sales:
	total+=sale.quantity*sale.price
print("Total {0:.2f}".format(total))

##在format函数中访问命名的元组中的某一项方法 3种

print("432quantity:{0}and price:{1}".format(sales[0].quantity,sales[0].price))#使用位置参数
print("432quantity:{0.quantity}and price:{0.price}".format(sales[0]))
##命名元祖的_asdict()方法可以返回键-值的映射
print("432quantity:{quantity}and price:{price}".format(**sales[0]._asdict()))

猜你喜欢

转载自blog.csdn.net/wuq757693255/article/details/81161101