前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python基础知识——内置数据结构(元组)

python基础知识——内置数据结构(元组)

作者头像
felixzhao
发布2018-03-19 10:32:08
5820
发布2018-03-19 10:32:08
举报
文章被收录于专栏:null的专栏null的专栏

python中的内置数据结构主要有元组、列表和字典。本篇主要介绍元组。

元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字甚至是元组。

1、元组的创建

格式

代码语言:javascript
复制
tuple_name = (元素1, 元素2, ...)

例如

代码语言:javascript
复制
tuple_1 = ('beijing', 'shanghai', 'wuhan')

注意点:

  1. 空元组的创建:tuple_2 = ()
  2. 只含一个元素的元组的创建:tuple_3 = ("beijing",) 若没有“,”,则是创建的是字符串“beijing”。

2、元组的访问

和矩阵的访问一致,通过索引访问其中的元素。

格式

代码语言:javascript
复制
tuple_name [n]

如上述的tuple_1

代码语言:javascript
复制
tuple_1 = ('beijing', 'shanghai', 'wuhan')

print tuple_1 [0]#beijing

print tuple_1 [1]#shanghai

print tuple_1 [2]#wuhan

注意点:

元组支持负数索引,即从末尾开始是-1。

代码语言:javascript
复制
tuple_1 = ('beijing', 'shanghai', 'wuhan')

print tuple_1 [-3]#beijing

print tuple_1 [-2]#shanghai

print tuple_1 [-1]#wuhan

3、元组的分片

分片的含义是一个子集,定义两个索引,分片是从第一个索引到第二个索引,不包括第二个索引之间的元素组成的元组。

格式

代码语言:javascript
复制
tuple_name [m:n]

例如

代码语言:javascript
复制
tuple_4 = ('beijing', 'shanghai', 'nanjing', 'wuhan', 'chongqing')

print len(tuple_4)

tuple_slice = tuple_4 [1:3]#('shanghai', 'nanjing')

print tuple_slice

4、二元元组

与二维数组类似,即元组里的元素是元组。

格式

代码语言:javascript
复制
tuple_name = (tuple_1, tuple_2, ...)

例如

代码语言:javascript
复制
#coding:UTF-8
tuple_1 = ('shanghai', 'beijing')#创建tuple_1

tuple_2 = ('nanjing', 'wuhan')#创建tuple_2

tuple_3 = (tuple_1, tuple_2)

#tuple_3的访问
print tuple_3 [0] #访问的是tuple_1
print tuple_3 [1] #访问的是tuple_2

print tuple_3 [0][0] #访问的是tuple_1中的shanghai

5、元组的“打包”和“解包”

在python中,将创建元组的过程称为“打包”。

“解包”即是将元组中的各个元素分别赋值给多个变量。

例如

代码语言:javascript
复制
#coding:UTF-8

# 打包
tuple_1 = ('beijing', 'shanghai', 'wuhan', 'nanjing')

#解包
a, b, c, d = tuple_1
print a, b, c, d

6、元组的遍历

使用到两个函数len()和range()函数。

代码语言:javascript
复制
#coding:UTF-8

tuple_1 = ('beijing', 'shanghai', 'wuhan', 'nanjing')

for x in range(len(tuple_1)):
      print tuple_1 [x]

元组的注意点:元组的元素一旦确定就不能再修改。

代码语言:javascript
复制
#coding:UTF-8

tuple_1 = ('beijing', 'shanghai', 'wuhan', 'nanjing')

tuple_1 [1] = 'guangzhou'

想要修改'shanghai'的值为'guangzhou',结果报错

代码语言:javascript
复制
TypeError: 'tuple' object does not support item assignment        
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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