元祖

tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)

通过这个例子,我们看到元祖的特征:

  • 是通过括号()括起来的
  • 一般写元祖的时候,推荐子最后加入逗号 ,
  • 元祖是有序的
  • 元祖的一级元素不可被修改、不能被增加或者删除(后面通过程序来理解)

元祖的功能

1.索引取值

索引取元祖的一级元素

tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
#取元祖 tu 中的第三个元素
v = tu[2]
print(v) #程序执行结果
(11, ['aa', 'xhg', (78, 43)], 'aaa')

索引取元祖的二、三级元素

tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
#取元祖 tu 中的 78
v = tu[2][1][2][0]
print(v) #程序执行结果
78

2.切片取值

tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
v = tu[0:2]
print(v)

3.for循环

可以执行for循环的对象是可迭代的对象

tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
for item in tu:
print(item) #执行结果:
111
alex
(11, ['aa', 'xhg', (78, 43)], 'aaa')
789

4.字符串、列表以及元祖三者之间的转换

(字符串和列表之间的转换在上一篇有总结哦)

字符串==>元祖

s = 'dsjkfsadfjksdfh'
v = tuple(s)
print(v)

列表==>元祖

li = [111,'alex',789,[11,123,'xhg'],True]
v = tuple(li)
print(v)

列表<==元祖

tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
li = list(tu)
print(li)

字符串<==元祖

如果元祖里元素类型既有数字,又有字符串(需要自己写for循环来一个一个处理)

tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
s = ''
for item in tu:
s = s + str(item)
print(s)

如果元祖里元素类型只有字符串,使用join即可

tu = ('adf','qwe','xhg')
s = ''.join(tu)
print(s)

5.修改

元祖一级元素不可以删除、修改、增加
所以,这里的修改针对的是元祖二级以上的元素

#将元祖 tu 中的‘a’修改为666
tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
tu[2][1][0] = 666
print(tu)

6.count

  • Return number of occurrences of value
tu = (111,'alex',(11,['aa','xhg'],'alex'),789,'alex')
v = tu.count('alex')
print(v)

7.index

  • Return first index of value.
  • Raises ValueError if the value is not present.
tu = (111,'alex',(11,['aa','xhg'],'alex'),789,'alex')
v = tu.index('alex')
print(v)

Python小白学习之路(六)—— 【元祖】【元祖相关功能】的更多相关文章

  1. Python小白学习之路(二)—【Pycharm安装与配置】【创建项目】【运算符】【数据类型】

    写在前面: 第二天的学习,感觉比昨天学习相对轻松一些,但是对于我这个编程语言功底很弱的人来说,还是稍稍微有些.....哈尔滨的天气一天天冷了下来,还飘着小雨,不过还是挺有意境的.充实而又忙碌的生活,让 ...

  2. Python小白学习之路(二十六)—【if __name__ =='__main__':】【用状态标识操作】

    规则一: 一个python文件中,只写一些可以运行的功能测试代码写在这句代码下面 if __name__ =='__main__': 在讲这边的时候,我不是很懂参考了一篇博客,地址如下:http:// ...

  3. Python小白学习之路(十六)—【内置函数一】

    将68个内置函数按照其功能分为了10类,分别是: 数学运算(7个) abs()   divmod()  max()  min()  pow()  round()  sum() 类型转换(24个) bo ...

  4. Python小白学习之路(二十一)—【迭代器】

    迭代器 1.迭代器协议 对象必须提供一个 next 方法,执行该方法要么返回迭代中的下一项,要么就引起一个Stoplteration异常,以终止迭代(只能往后走不能往前退) 2.可迭代对象 实现了迭代 ...

  5. Python小白学习之路(十一)—【局部变量和全局变量】【关键字global】【关键字nonlocal】

    写在前面: 几乎有一周没有更新学习笔记了吧 上周一周身体都不怎么舒服 然后还得写开题报告 然后还得看文献 天天就是写写写写写写~~~~~~改改改改改改~~~~~~~~~ 今天又开始学习了 希望之前的没 ...

  6. Python小白学习之路(二十二)—【生成器】

    一.什么是生成器? 生成器可以理解成是一种数据类型,特殊地是生成器可以自动实现迭代器协议其他的数据类型需要调用自己内置的__iter__方法所以换种说法,生成器就是可迭代对象 !回忆:很重要的迭代器协 ...

  7. Python小白学习之路(二十)—【打开文件的模式二】【文件的其他操作】

    打开文件的模式(二) 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码.图片文件的jgp格 ...

  8. Python小白学习之路(十五)—【map()函数】【filter()函数】【reduce()函数】

    一.map()函数 map()是 Python 内置的高阶函数 有两个参数,第一个是接收一个函数 f(匿名函数或者自定义函数都OK啦):第二个参数是一个 可迭代对象 功能是通过把函数 f 依次作用在 ...

  9. Python小白学习之路(十)—【函数】【函数返回值】【函数参数】

    写在前面: 昨天早睡之后,感觉今天已经恢复了百分之八十的样子 又是活力满满的小伙郭 今日份鸡汤: 我始终相信,在这个世界上,一定有另一个自己,在做着我不敢做的事,在过着我想过的生活.-------宫崎 ...

随机推荐

  1. 【httpclient-4.3.1.jar】httpclient发送get、post请求以及携带数据上传文件

    1.发送get.post携带参数以及post请求接受JSON数据: package cn.qlq.utils; import java.io.BufferedReader; import java.i ...

  2. mysql数据库中如何查询日期在两个时间之间的关系

    select * from banner where addDate between '2017-06-04' and '2017-06-06';

  3. <%@ include file=""%>与<jsp:include page=""/>

    https://www.cnblogs.com/sharpest/p/6117629.html

  4. gj9 迭代器和生成器

    9.1 python的迭代协议 list内部实现了__iter__()协议(魔法函数),是可迭代对象,但还不是迭代器(迭代器需要实现__next__协议) 生成器实现了__iter__(),__nex ...

  5. Python之Pandas中Series、DataFrame

    Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...

  6. 【翻译】使用Vuex解决Vue中的身份验证

    翻译原文链接:https://scotch.io/tutorials/handling-authentication-in-vue-using-vuex 我的翻译小站:https://www.zcfy ...

  7. hibernate的一级缓存问题

    1.证明一级缓存的问题 输出结果: 只发出一条查询语句  第二条查询语句没有执行 因为第一条查询语句缓存的存在 2. 移除缓存: 输出结果: 3.一级缓存的快照 就是对一级缓存的数据备份 保证数据库的 ...

  8. HDU6026 Deleting Edges 2017-05-07 19:30 38人阅读 评论(0) 收藏

    Deleting Edges                                                                                  Time ...

  9. springmvc 开涛 注解式控制器

    版本 定义处理器类 处理器映射适配器 备注 支持的注解 2.5前 controller       2.5 注解 DefaultAnnotationHandlerMapping AnnotationM ...

  10. 测试一下你的T-SQL基础知识-count

    下面count的返回值是多少? ) ); GO INSERT mytable ( myid, mychar ) VALUES ( , 'A' ), ( , 'B'), ( NULL, 'C' ), ( ...