python包含多个元组的元组_Python数据结构(元组,列表,字典)

Python内置了 几种数据结构,元组,列表 字典

1.元组

元组可以由不同的元素组成,所有元素通过圆括号(  )包含起来,并通过逗号","隔开.如变量名 = (元素1,元素2,...),如果a =1,3,56,'abc','aoe',也默认a是元组

每个元素也可以是不同的数据类型,字符串,数字,元组,列表,字典

元组的元素不能修改,也不能删除,可以将元组整个删除,使用del 元组,如删除元组tuple使用del tuple

当元组只有一个元素时,第一个元素后面跟上逗号"," .如,tuple只有一个元素50时 ,tuple = (50,)

元组的元素以索引编号,从0开始

读取单个元素使用元组[m]的方式,m是索引编号,倒数第一个元素元组[-1]

读取多个元素使用"元组[m:n]"的方式,m和n就是索引的序号,代表读取元组从m到n的元素,但不包括n这个元素.例如:元组[1,-1]指索引从1开始到索引为-1但不包含-1的元素.

步长打印 元组[m:n:k],以间隔逗号个数为k读取元组中索引从m到n但不包含n的元素tuple = (1,2,3,4,5,6,7) print(tuple[1:6:2]) 结果:[2,4,6] k=2即间隔两个逗号

读取元组中的列表中的单个元素,使用"元组[m][n]的方式,m是元组中列表的索引,n是列表中元素的索引编号.例如:元组[2][-2]指元组中索引为2的列表中倒数第2个元素.

读取元组中列表或元组中的多个元素,使用"元组[x][m:n]"的方式,x是元组中列表/元组的索引,m:n即列表/元组中从索引为m到n但不包含n的元素.

元组的合并:tuple = tuple1+tuple2

读取结果:看最终取自哪里,是单个还是多个元素,如果单个元素,那么读取结果是该元素(可以是字符串,数字,元组,列表,字典),如果是多个元素,那么若多个元素最终取自列表,读取结果是多个元素组成的列表,若多个元素最终取自元组,那么读取结果是多个元素组成的元组

实例代码如下:

1 a = 1,3,56,'abc','aoe'

2 print(type(a))3 print(a)4 m = 1,5 n = 1

6 print(type(m))7 print(m)8 print(type(n))9 print(m*3)10 print(m)11 #运行结果

12

13 (1, 3, 56, 'abc', 'aoe')14

15 (1,)16

17 (1, 1, 1)18 (1,)

1 变量名 =(元素1,元素2,...)2 tuple = (1,2,3,[4,5,6,7,8,9],{"A":"abc","B":"789","C":"NBA"},(11,22,'monkey','pig'))3 print(tuple[3])4 print(tuple[3][-1])5 print(tuple[3][1:5])6 print(tuple[4])7 print(tuple[4]["C"])8 print(tuple[5])9 print(tuple[5][1:4])10 #运行结果如下

11 [4, 5, 6, 7, 8, 9]12 9

13 [5, 6, 7, 8]14 {'A': 'abc', 'B': '789', 'C': 'NBA'}15 NBA16 (11, 22, 'monkey', 'pig')17 (22, 'monkey', 'pig')

1 tuple1 = (12, 34.56)2 tuple2 = ('abc', 'xyz')3 tuple3 = tuple1+tuple24 print(tuple3)5 #运行结果

6 (12, 34.56, 'abc', 'xyz')

元组常用的方法/函数:

①排序sorted(tuple):不支持字符串,元组元素不能修改,删除.使用sorted()排序后,得到的是一个列表,但是元组本身并没有因此变化

②最大值max(tuple)

③最小值min(tuple)

④长度len(tuple)

⑤重复tuple*n

1 tuple = (12, 34.56,13,5)2 list =sorted(tuple)3 print(type(tuple))4 print(tuple)5 print(type(list))6 print(list)7 print(len(tuple))8 print(max(tuple))9 print(min(tuple))10 #运行结果

11

12 (12, 34.56, 13, 5)13

14 [5, 12, 13, 34.56]15 4

16 34.56

17 5

1 a =(1,3,56,'abc','aoe')2 print(a)3 print(a*3)4 print(a)5 #运行结果

6 (1, 3, 56, 'abc', 'aoe')7 (1, 3, 56, 'abc', 'aoe', 1, 3, 56, 'abc', 'aoe', 1, 3, 56, 'abc', 'aoe')8 (1, 3, 56, 'abc', 'aoe')

1 #python数据类型之元组练习

2 L1 = (1,2,3,'A','B','C')3 L2 = (1,2,3,4,5,6)4 L3 = ('A',)#元组只有一个元素时需要加逗号","

5 L4 = 'A','B','C','D','E'

6 print(L1[1])#打印元组L1中索引为1的元素

7 print(L1[2:5])#打印(截取)元组L1中索引从2到5,但不包含索引为5的元素

8 print(L1[2:])#打印(截取)元组L1中索引从2开始到结束的元素

9 print(L1[:5])#打印(截取)元组L1中索引从0开始到5,但不包含索引为5的元素

10 print(L1[-3])#打印元组L1中倒数第三个元素

11 print(L1[:-3])#打印元组L1中索引从0开始到倒数第3(不含倒数第3)的元素

12 print(L1)#打印元组L1

13 print(L1[0:])#打印元组L1

14 print(L1[:])#打印元组L1

15 print(L1[:6])#打印元组L1

16 print(L1+L2)#元组的组合

17 L5 = L1+L2#元组的拼接

18 print(L5)19 print(L4)20 print(L1*3)#元组的重复

21 print(len(L2))#打印元组L2的长度

22 del L2#元组的元素不可以修改,也不可以删除,可以将整个元组删除

23 #运行结果

24 2

25 (3, 'A', 'B')26 (3, 'A', 'B', 'C')27 (1, 2, 3, 'A', 'B')28 A29 (1, 2, 3)30 (1, 2, 3, 'A', 'B', 'C')31 (1, 2, 3, 'A', 'B', 'C')32 (1, 2, 3, 'A', 'B', 'C')33 (1, 2, 3, 'A', 'B', 'C')34 (1, 2, 3, 'A', 'B', 'C', 1, 2, 3, 4, 5, 6)35 (1, 2, 3, 'A', 'B', 'C', 1, 2, 3, 4, 5, 6)36 ('A', 'B', 'C', 'D', 'E')37 (1, 2, 3, 'A', 'B', 'C', 1, 2, 3, 'A', 'B', 'C', 1, 2, 3, 'A', 'B', 'C')38 6

2.列表

列表和元组很相似,主要差别在于列表的元素可以增加,修改和删除,而元组是不行滴!

列表的元素由[  ]括起来,元素间用逗号","隔开.

列表中的元素可以是数字,字符串,列表,元组,列表,字典

列表的每个元素也可以是不同的数据类型,字符串,数字,元组,列表,字典

列表的元素以索引编号,从0开始

读取单个列使用"列表[m]"的方式,m是索引编号,倒数第一个元素"列表[-1]"

读取多个元素使用"列表[m:n]"的方式,m和n就是索引的序号,代表读取列表从m到n的元素,但不包括n这个元素.例如:列表[1,-1]指索引从1开始到索引为-1但不包含-1的元素.

步长打印 列表[m:n:k],以间隔逗号个数为k读取列表中索引从m到n但不包含n的元素list = [1,2,3,4,5,6,7] print(list[1:6:2]) 结果:[2,4,6] k=2即间隔两个逗号

读取列表中的元组或列表中的单个元素,使用"列表[m][n]的方式,m是列表中列表/元组的索引,n是列表/元组中元素的索引编号.例如:列表[2][-2]指列表中索引为2的列表/元组中倒数第2个元素.

读取列表中中列表或元组中的多个元素.使用"列表[x][m:n]"的方式,x是列表中列表/元组的索引,m:n即列表/元组中从索引为m到n但不包含n的元素.

列表的合并:list1 = list1+list2(列表可以修改)  ,或者list1.extend(list2)

读取结果:看最终取自哪里,是单个还是多个元素,如果单个元素,那么读取结果是该元素(可以是字符串,数字,元组,列表,字典),如果是多个元素,那么若多个元素最终取自列表,读取结果是多个元素组成的列表,若多个元素最终取自元组,那么读取结果是多个元素组成的元组

1 变量名 =(元素1,元素2,...)2 list = [1,2,3,[4,5,6,7,8,9],{"A":"abc","B":"789","C":"NBA"},(11,22,'monkey','pig')]3 print(list[3])4 print(list[3][-1])5 print(list[3][1:5])6 print(list[4])7 print(list[4]["C"])8 print(list[5])9 print(list[5][1:4])10 #运行结果

11 [4, 5, 6, 7, 8, 9]12 9

13 [5, 6, 7, 8]14 {'A': 'abc', 'B': '789', 'C': 'NBA'}15 NBA16 (11, 22, 'monkey', 'pig')17 (22, 'monkey', 'pig')

列表常用方法/函数

1.增删改的相关语法:

①增加元素list.append(元素) :调用列表的添加方法加入元素,并将元素添加到列表最后.其中增加的元素可以是任何数据类型

②插入元素list.insert(索引位置,元素):调用列表的插入方法加入元素到指定的索引位置,之后的元素索引位置依次向后瞬移

③移除元素list.remove(元素):调用列表的移除方法删除元素,之后的元素索引位置依次向前瞬移

④修改元素list[n]=元素 将列表中索引为n的元素赋值新元素

⑤删除元素del list[n] 删除列表中的元素.删除整个列表:del list

⑥列表的合并:

1.list1.extend(list2)    将list2中的元素扩展到list1中,并将list2的元素放到list1元素的后面

2.list1 = list1+list2    直接通过列表相加的方法并重新赋值到列表1中

实例代码如下:

1 a = [1,2,3,'a','abc','dnf']2 a.append(235)3 print(a)4 a.remove(235)5 print(a)6 a.insert(2,4)7 print(a)8 a.insert(6,'xyz')9 print(a)10 a.insert(8,'888')11 print(a)12 a[-1] = '999'

13 print(a)14 print(a[3:7])15 print(a[0:-1])16 #运行结果:

17 [1, 2, 3, 'a', 'abc', 'dnf', 235]18 [1, 2, 3, 'a', 'abc', 'dnf']19 [1, 2, 4, 3, 'a', 'abc', 'dnf']20 [1, 2, 4, 3, 'a', 'abc', 'xyz', 'dnf']21 [1, 2, 4, 3, 'a', 'abc', 'xyz', 'dnf', '888']22 [1, 2, 4, 3, 'a', 'abc', 'xyz', 'dnf', '999']23 [3, 'a', 'abc', 'xyz']24 [1, 2, 4, 3, 'a', 'abc', 'xyz', 'dnf']

1 1 a = [1,2,3,('a','b','c')]2 2 b = [4,5,6,['x','y','z']]3 3 c = [444,555,666,(7,8,9)]4 4a.extend(b)5 5 print(a)6 6 c = b+c7 7 print(c)8 8

9 9 #运行结果

10 10 [1, 2, 3, ('a', 'b', 'c'), 4, 5, 6, ['x', 'y', 'z']]11 11 [4, 5, 6, ['x', 'y', 'z'], 444, 555, 666, (7, 8, 9)]

1#python数据类型之列表练习

2 L1 = [1,2,3,'A','B','C']3 L2 = [1,2,3,4,5,6]4 print(L1[1])#打印列表L1中索引为1的元素

5 print(L1[2:5])#打印(截取)列表L1中索引从2到5,但不包含索引为5的元素

6 print(L1[2:])#打印(截取)列表L1中索引从2开始到结束的元素

7 print(L1[:5])#打印(截取)列表L1中索引从0开始到5,但不包含索引为5的元素

8 print(L1[-3])#打印列表L1中倒数第三个元素

9 print(L1[:-3])#打印列表L1中索引从0开始到倒数第3(不含倒数第3)的元素

10 print(L1)#打印列表L1

11 print(L1[0:])#打印列表L1

12 print(L1[:])#打印列表L1

13 print(L1[:6])#打印列表L1

14 print(L1+L2)#列表的组合

15 print(L1*3)#列表的重复

16 print(len(L2))#打印列表的长度

17 L2[0] = 'AOE'#列表的值可以修改,将所索引为0的元素更改为'AOE'

18 del L2[5]#列表的元素可以删除,将索引为5的元素删除

19 print(L2)20 #运行结果

21 2

22 [3, 'A', 'B']23 [3, 'A', 'B', 'C']24 [1, 2, 3, 'A', 'B']25 A26 [1, 2, 3]27 [1, 2, 3, 'A', 'B', 'C']28 [1, 2, 3, 'A', 'B', 'C']29 [1, 2, 3, 'A', 'B', 'C']30 [1, 2, 3, 'A', 'B', 'C']31 [1, 2, 3, 'A', 'B', 'C', 1, 2, 3, 4, 5, 6]32 [1, 2, 3, 'A', 'B', 'C', 1, 2, 3, 'A', 'B', 'C', 1, 2, 3, 'A', 'B', 'C']33 6

34 ['AOE', 2, 3, 4, 5]

3.字典

字典由一系列"键":"值"组成,每一组可以理解为一个元素,并通过{    }包含起来,创建字典语法格式:dictionary = {键1:值1,键2:值2,键3:值3,.......}

字典中的键是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一,值可以取任何数据类型。

键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,因为列表是可变的嘛!

字典内的元素没有顺序,所以不能通过下标引用,必须通过键来访问

访问单个元素:字典["key"]

访问全部元素:字典

访问字典中没有的键会输出错误

字典的拼接:dict1.update(dict2),将字典dict2合并到字典dict1之中,如果dict2中存在与dict1中相同的键,那么该键会被替换成dict2的值.

1 m = {"a":1,"b":2,"c":3,"d":"nba"}2 print(m["a"])3 print(m["d"])4 #运行结果

5 1

6 nba

字典的增删改:

字典的增加和修改的语法一样,都是通过给某个键进行对应的赋值,当键对应的值存在时将原值替换为新的赋值,当键不存在时创建一个新的键值对.

1 n = {"a":1,"b":2}2 n["c"] = 3

3 n["a"] = 'x'

4 print(n)5 #运行结果

6 {'a': 'x', 'b': 2, 'c': 3}

字典的拼接:dict1.update(dict2),将字典dict2合并到字典dict1之中,如果dict2中存在与dict1中相同的键,那么该键会被替换成dict2的值.

与列表的合并区别在于,列表可以合并重复的数据并且不会被替代,而字典中如果有重复的键,就会被新的键对应的值所取代

1 #dictionary = {键1:值1,键2:值2,键3:值3,.......}

2 m = {"a":1,"b":2,"c":3,"d":"nba"}3 m["x"] = 2019

4 m['y'] = 'abc'

5 print(m["x"])6 print(m["y"])7 m["a"] = 123

8 m["b"] = "HK666"

9 print(m)10 n = {"a":1,"b":2}11 y = {"c":3,"d":"nba"}12 n.update(y)13 print(n)14 z = {"a":1,"b":2}15 del(z["a"])16 print(z)17 x = {"a":1,"b":2}18 y = {"a":1,"b":2}19 x.update(y)20 print(x)21 #运行结果:

22 2019

23 abc24 {'a': 123, 'b': 'HK666', 'c': 3, 'd': 'nba', 'x': 2019, 'y': 'abc'}25 {'a': 1, 'b': 2, 'c': 3, 'd': 'nba'}26 {'b': 2}27 {'a': 1, 'b': 2}

字典常用的方法/函数

①取出所有的键dict.keys()

②取出所有的值dict.values()

③取出所有的键值对dict.items()

④清空字典dict.clear()

⑤删除:只能删除单个键值或者整个字典

删除单个键值 del dict['key1']

删除整个字典del dict

1 dict_aoe = {'key1':'value1','key2':'value2','key3':'value3','key4':'value4'}2 print(dict_aoe)3 print(dict_aoe.keys())4 print(dict_aoe.values())5 print(dict_aoe.clear())6 print(dict_aoe)7 dict1 = {'key1':'value1','key2':'value2','key3':'value3','key4':'value4'}8 del dict1['key1']9 print(dict1)10 deldict111 print(dict1)12 #运行结果

13 {'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4'}14 dict_keys(['key1', 'key2', 'key3', 'key4'])15 dict_values(['value1', 'value2', 'value3', 'value4'])16 None17 {}18 {'key2': 'value2', 'key3': 'value3', 'key4': 'value4'}19 NameError: name 'dict1' is not defined

====================================================

注意:由于列表和字典的可变性,对其执行相关操作(增加,删除,修改))后,列表已经发生变化

====================================================

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode 导入python库_vscode 如何导入python库

vscode 如何导入python库首先,我们要知道,VScode和本地运行的并不是同一个python,反正我的是这样,所以导致了在本地下载好库后,在VScode运行时还是报错。那么如何在VScode中导入python库呢?1.已经在vscode中…

docker部署php站点,docker部署php

## **Docker部署php**操作系统:Ubuntu16.04 / Ubuntu18.04~~~//查看可用的php版本$ docker search php//这里安装php7.1版$ docker pull php:7.1-fpm//启动挂载$ docker run -p 9000:9000 -d --name myphp-fpm -v /docker/www:/usr/share/nginx/www php:7.1-fpm//这…

python怎么退出调试模式_python – 在验尸调试时如何退出ipdb?

我喜欢使用以下方式检查Python脚本中的错误:$python3 -m pdb my_script.py这会让我进入一个pdb提示,从那里我可以继续执行,当它遇到错误,我可以检查变量,然后q退出脚本执行以回到我的shell.我尝试与iPython调试器模块相同,因为它更加丰富多彩:$python3 -…

oracle捕捉所有异常,如何捕获和处理特定的Oracle异常?

你有两个选择:直接通过编号参考例外:BEGINEXECUTE IMMEDIATE CREATE SEQUENCE S_TEST START WITH 1 INCREMENT BY 1;EXCEPTIONWHEN OTHERS THENIF SQLCODE -955 THENNULL; -- suppresses ORA-00955 exceptionELSERAISE;END IF;END;其他选项是使用EXCEPT…

拖拽批量上传图片如何保证 顺序_图片压缩神器和图片分割工具,美工设计和运营终于得救了...

想要快速互联网干货技巧?请(置顶)星标我们好不容易写好文案,设计好长图海报,上传到微信公众号,竟然提示上传图片体积不得超过5M,怎么办?怎么办?不得已,只好又返回Ps里降低…

php将word转txt,PHP如何将将word文件转为pdf

PHP将word文件转为pdf的方法:首先修改【php.ini】,并重启环境;然后安装微软office套件;最后配置office组件服务即可。PHP将word文件转为pdf的方法:1、修改php.ini添加:extensionphp_com_dotnet.dll去除注释…

redis一般缓存什么样数据_SpringBoot+Redis轻松实现数据缓存

1.为什么需要缓存为什么需要缓存,我相信搞开发的都能回答出来,无非就是为了降低数据库压力,节约资源,提升系统性能。而事实上也确实是,归根结底就是降压,高并发,高性能。不过,大厂里…

python里面的import provide_Python importorror:没有名为wmi的模块

我按照说明在这里下载了用于Python的WMI当我试图运行代码时import wmic wmi.WMI ()for s in c.Win32_Service (StartMode"Auto", State"Stopped"):if raw_input ("Restart %s? " % s.Caption).upper () "Y":s.StartService ()我收到…

php 微信消息解密,thinkphp微信开发(消息加密解密)

使用thinkphp官方的WeChat包,使用不同模式可以成功,但是安全模式就是不行,现将分析解决结果做下记录。分析问题:解密微信服务器消息老是不成功,下载下微信公众平台官方给出的解密文件和WechatCrypt.class.php进行比对发…

模型预测控制_模型预测控制(MPC)算法之一MAC算法

引言随着自动驾驶技术以及机器人控制技术的不断发展及逐渐火热,模型预测控制(MPC)算法作为一种先进的控制算法,其应用范围与领域得到了进一步拓展与延伸。目前提出的模型预测控制算法主要有基于非参数模型的模型算法控制(MAC)和动态矩阵控制(DMC)&#x…

基于dde的vb和matlab,基于VB和DDE技术的组态王通信协议转换

组态王是一种通用的工业监控上位机软件,它界面友好、易学易用、即便是不懂编程的工程人员也能在短时时间内开发出界面精美,符合行业标准且高效的上位机监控程序,因此深受工程师们的喜爱,然而组态王软件的上下位机通信协议是固定的切不可改变,这就给一些使用“自拟定协议”和“非…

pythonjava解释xml_Python解析XML文档

解析XML主要用到pytohn自带的XML库,其次还是lxml库XML结构,先以一个相对简单但功能比较全的XML文档为例dive into markcurrently between addictionstag:diveintomark.org,2001-07-29:/2009-03-27T21:56:07ZMarkhttp://diveintomark.org/Dive into histo…

红旗linux安装oracle,Redflag Linux安装Oracle 10gR2 RAC记事

Redflag Linux安装Oracle 10gR2 RAC记事Kamus遇到过:SQL> startup nomountORA-27102: out of memoryLinux-x86_64 Error: 28: No space LEFT ON device这和内核参数 shmall 有关,修改设置 kernel.shmall 16475728 。后来离开没多久,客户打…

springboot开启debug日志_SpringBoot 如何优雅的打印日志?

一、打印日志注意事项1、使用 Slf4j 注解这个代码相信大家都很熟悉,你是否曾经看到或者自己因 copy 而 没有改变“当前类名”?如果你们项目用到 lombok ,可以在类上使用 Slf4j 注解,省去手动写这行代码。2、不建议使用的输出为什么…

oracle导出表中某天数据命令,Oracle数据库使用命令行导入导出数据表及数据内容(本地、远程)...

一、本机导入导出1、数据库导出命令,导出用户userA下的表结构和数据:exp 用户名/密码服务名 owner用户名 file导出文件指定存储路径 fully2、数据库导入命令,将userA用户下的表结构和数据导入到用户userB下:imp 用户名/密码服务名 fromuser导…

python手机话费_查询话费订单详情示例代码

#!/usr/bin/python# encoding:utf-8import urllib2, json, urllib, hashlib# 3、获取订单详情data {}data["appkey"] "your_appkey_here"data["orderno"] "201605250929585085725"data["outorderno"] "77888855888…

windows 映射文件会释放内存吗_Windows系统共享内存管理

一 进程逻辑空间 物理空间​如上图所示,每个进程都有自己的逻辑空间,这些逻辑空间,会被映射到具体的物理空间中。每个进程的逻辑空间都是彼此隔离,相互独立不受干扰的。但是他们都会被映射到同一个物理空间去,当其所映…

linux 文件的组织,Linux文件组织和目录结构

资料:https://www.shiyanlou.com/courses/running1 Linux目录结构说明可以使用tree来查看目录结构sudo apt-get install tree 安装treetree / 查看根目录的结构将目录定义为四种交互作使用的形态:2 路径. 表示当前目录.. 表示上一级目录 - 表示上一次所在…

python 将列表中的字符串转为数字_python 将列表中的字符串转为数字

本文实例讲述了python中列表元素转为数字的方法。分享给大家供大家参考,具体如下:有一个数字字符的列表:numbers [1, 5, 10, 8]想要把每个元素转换为数字:numbers [1, 5, 10, 8]用一个循环来解决:new_numbers [];fo…

linux perl 安装目录,linux-将Perl模块安装到特定位置

我有几台运行Perl程序以及其他程序和工具的Linux机器.我想使所有机器之间的所有工具保持同步,因此我已经在一台机器(主)和另一台机器之间共享了/usr/local目录.现在,我想在/usr/local /< modules的路径>中使所有Perl模块及其依赖项保持同步.我已经找到了local::lib模块,但…