发布时间:2019-08-08 07:58:31编辑:auto阅读(1510)
要创建简单的数据结构 可以使用元组 存储数据 使用圆括号 创建元组
address = ('北京','上海','天津','广州','重庆')
即使没有圆括号 python通常也能识别元组
number = 1,2,34,4,5,6,7,8
如果你要创建1个数值的元组 需要在后面添加一个,(逗号)
num = 1, # type = tuple num = 1 # type = int num = (1) # type = int num = (1,) # type = tuple
和列表一样 也可以使用数字索引提取元素中的值 然而最常用的方法是将元组解包为一组变量:
number = ('阮小七',23,'河北张家口') name,age,addr = number #元组解包为一组数据 print(name); print(age); print(addr);
元组操作与列表大部分相同(索引 切片,连接)但是创建元组后不能修改内容(无法替换 删除现有元组中的元素 或者 插入新元素) 说明: 最好把元组看做由多部分组成的对象 而不是可在其中插入或者删除项的不同的集合
元组修改必须使用切片和连接运算符 :
name = ('双枪将董平','没羽箭张青','青面兽杨志') #不能用insert或者append方法 添加新元素 name=name[1:]+('急先锋索超',) +name[:1];
输出结果:
('没羽箭张青', '青面兽杨志', '急先锋索超', '双枪将董平')
在元组中 使用 * 重复运算符 如:
8*(4,)
输出结果:
(4,4,4,4,4,4,4,4)
表示数据时 通常同时使用元组和列表:
filename = 'E:/work.txt'; datas = []; for line in open(filename): fileds = line.split(','); #将每行划分为一个列表 name = fileds[0]; #提取并转换每一个字段 tokens = int(fileds[1]); price = float(fileds[2]); stock = (name,tokens,price); datas.append(stock); print(datas)
注:此处将work.txt中的数据提取并组成一个元组 放入到了 列表中
输出结果:
[("'tom'", 120, 132.0), ("'jon'", 234, 255.0), ("'jeck'", 123, 678.0)]
如果要访问元组中的数据项 :
print(datas[1]); #索引 print(data[2][1]); #切片
输出结果
("'jon'", 234, 255.0)
123
如果想循环所有记录并将字段进行运算 则:
for name, tokens, price in datas: total += tokens * price; print(total);
输出结果:158904.0
总结:
1,创建元组可使用()
2,创建1个值的元组 可使用:tuple1 = str, 或者 tuple1 = (str,)
3,常用的提取值的方式 切片或者索引提取或者将元组解包为一组变量 name ,age,add = date;
5,元组不可以使用常规方法被修改或者添加项 但是可以使用切片运算符和连接用算符进行此操作
6,*在元组中可以作为重复运算符
7,同时使用元组和列表的用法
上一篇: setdefaultencoding p
下一篇: python类介绍
47496
45799
36797
34327
28970
25600
24445
19613
19113
17635
5469°
6051°
5573°
5640°
6575°
5378°
5380°
5887°
5858°
7174°