Python小白学习之路(六)—— 【元祖】【元祖相关功能】
元祖
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小白学习之路(六)—— 【元祖】【元祖相关功能】的更多相关文章
- Python小白学习之路(二)—【Pycharm安装与配置】【创建项目】【运算符】【数据类型】
写在前面: 第二天的学习,感觉比昨天学习相对轻松一些,但是对于我这个编程语言功底很弱的人来说,还是稍稍微有些.....哈尔滨的天气一天天冷了下来,还飘着小雨,不过还是挺有意境的.充实而又忙碌的生活,让 ...
- Python小白学习之路(二十六)—【if __name__ =='__main__':】【用状态标识操作】
规则一: 一个python文件中,只写一些可以运行的功能测试代码写在这句代码下面 if __name__ =='__main__': 在讲这边的时候,我不是很懂参考了一篇博客,地址如下:http:// ...
- Python小白学习之路(十六)—【内置函数一】
将68个内置函数按照其功能分为了10类,分别是: 数学运算(7个) abs() divmod() max() min() pow() round() sum() 类型转换(24个) bo ...
- Python小白学习之路(二十一)—【迭代器】
迭代器 1.迭代器协议 对象必须提供一个 next 方法,执行该方法要么返回迭代中的下一项,要么就引起一个Stoplteration异常,以终止迭代(只能往后走不能往前退) 2.可迭代对象 实现了迭代 ...
- Python小白学习之路(十一)—【局部变量和全局变量】【关键字global】【关键字nonlocal】
写在前面: 几乎有一周没有更新学习笔记了吧 上周一周身体都不怎么舒服 然后还得写开题报告 然后还得看文献 天天就是写写写写写写~~~~~~改改改改改改~~~~~~~~~ 今天又开始学习了 希望之前的没 ...
- Python小白学习之路(二十二)—【生成器】
一.什么是生成器? 生成器可以理解成是一种数据类型,特殊地是生成器可以自动实现迭代器协议其他的数据类型需要调用自己内置的__iter__方法所以换种说法,生成器就是可迭代对象 !回忆:很重要的迭代器协 ...
- Python小白学习之路(二十)—【打开文件的模式二】【文件的其他操作】
打开文件的模式(二) 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码.图片文件的jgp格 ...
- Python小白学习之路(十五)—【map()函数】【filter()函数】【reduce()函数】
一.map()函数 map()是 Python 内置的高阶函数 有两个参数,第一个是接收一个函数 f(匿名函数或者自定义函数都OK啦):第二个参数是一个 可迭代对象 功能是通过把函数 f 依次作用在 ...
- Python小白学习之路(十)—【函数】【函数返回值】【函数参数】
写在前面: 昨天早睡之后,感觉今天已经恢复了百分之八十的样子 又是活力满满的小伙郭 今日份鸡汤: 我始终相信,在这个世界上,一定有另一个自己,在做着我不敢做的事,在过着我想过的生活.-------宫崎 ...
随机推荐
- div和span元素的区别
2个都是用来划分区间但是没有实际语义的标签,差别就在于div是块级元素,不会其他元素在同一行;span是内联元素,可以与其他元素位于同一行. DIV 和 SPAN 元素最大的特点是默认都没有对元素内的 ...
- 2018.08.05 bzoj3223: Tyvj 1729 文艺平衡树(非旋treap)
传送门 经典的平衡树问题,之前已经用splay写过一次了,今天我突发奇想,写了一发非旋treap的版本,发现挺好写的(虽然跑不过splay). 代码: #include<bits/stdc++. ...
- Repository模式中,Update总是失败及其解析(转)
出处:http://www.cnblogs.com/scy251147/p/3688844.html 关于Entity Framework中的Attached报错的完美解决方案终极版 前发表过一篇文章 ...
- [转]一个CMake编译问题的解决过程
问题的提出 公司的一个power-pc平台的产品,有个协议进行了修改,过程中出现了比较奇怪的情况.直接将修改后的动态库下载到设备上(原始设备是有文件系统和其他的依赖文件的,相当于部分更新应用),设备和 ...
- gj7 对象引用、可变性和垃圾回收
7.1 python变量到底是什么 #python和java中的变量本质不一样,python的变量实质上是一个指针 int str, 便利贴 a = 1 a = "abc" #1. ...
- QGIS Server Quickstart
http://live.osgeo.org/en/quickstart/qgis_mapserver_quickstart.html
- SetFocus (GetDlgItem (hwnd, idFocus))函数的各参数的具体含义
Setfocus(HWMD hwnd):将窗口hwnd设置成获得焦点 GetDlgItem (hwnd, idFocus):此函数返回一个句柄 具体参数的含义: hwnd:包含该窗口标志位的对话框的句 ...
- jquery 方法学习
遍历 .add():将元素添加到jquery对象 argument:selector, element, html, jqueryObject $('li').add('p').css('backgr ...
- java web 项目启动的根目录,以及项目启动后使用的端口具体是哪一个
1.今天启动项目发现一直找不到网页,原来是自己浏览器地址的根目录出现了问题,那么系统中的根目录(也就是项目名)到底是哪个,究竟以哪个为基准? 这里有一地方不能忽视:见图片 在普通的java web项目 ...
- EBS trace分析
下载Trace Analyzer,打开bin下的traceanalyzer.bat 即可分析EBS的trace文件,图形化界面,无需tkprof 需要配置javahome,确认java版本为1.6以上 ...