前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中的元组

python中的元组

作者头像
py3study
发布2020-01-13 13:05:23
1.1K0
发布2020-01-13 13:05:23
举报
文章被收录于专栏:python3python3

要创建简单的数据结构 可以使用元组 存储数据  使用圆括号 创建元组

代码语言:javascript
复制
address = ('北京','上海','天津','广州','重庆')

即使没有圆括号 python通常也能识别元组

代码语言:javascript
复制
number = 1,2,34,4,5,6,7,8

如果你要创建1个数值的元组 需要在后面添加一个,(逗号)

代码语言:javascript
复制
num  = 1,  # type = tuple
num  = 1  # type = int
num  = (1) # type = int
num  = (1,) # type  = tuple

和列表一样 也可以使用数字索引提取元素中的值 然而最常用的方法是将元组解包为一组变量:

代码语言:javascript
复制
number = ('阮小七',23,'河北张家口')
name,age,addr = number #元组解包为一组数据
print(name);
print(age);
print(addr);

元组操作与列表大部分相同(索引 切片,连接)但是创建元组后不能修改内容(无法替换 删除现有元组中的元素 或者 插入新元素) 说明: 最好把元组看做由多部分组成的对象 而不是可在其中插入或者删除项的不同的集合

元组修改必须使用切片和连接运算符 :

代码语言:javascript
复制
name = ('双枪将董平','没羽箭张青','青面兽杨志')  #不能用insert或者append方法 添加新元素
name=name[1:]+('急先锋索超',) +name[:1];

 输出结果:

('没羽箭张青', '青面兽杨志', '急先锋索超', '双枪将董平')

在元组中 使用 * 重复运算符 如:

代码语言:javascript
复制
8*(4,)

输出结果:

(4,4,4,4,4,4,4,4)

表示数据时 通常同时使用元组和列表:

代码语言:javascript
复制
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)]

如果要访问元组中的数据项 :

代码语言:javascript
复制
print(datas[1]); #索引
print(data[2][1]); #切片

输出结果

("'jon'", 234, 255.0) 123

如果想循环所有记录并将字段进行运算 则:

代码语言:javascript
复制
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,同时使用元组和列表的用法

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档