元组

列表和元组之间有什么区别?

心不动则不痛 提交于 2019-12-14 12:10:23
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 有什么不同? 元组/列表的优点/缺点是什么? #1楼 列表用于循环,元组用于结构,即 "%s %s" %tuple 。 列表通常是同质的,元组通常是异类的。 列表用于可变长度,元组用于固定长度。 #2楼 list 的值可以随时更改,但是 元组 的值不能更改。 优缺点 取决于用途。 如果您拥有从未更改过的数据,则必须使用元组,否则list是最佳选择。 #3楼 有人提到 ,差异主要是语义上的:人们期望元组和列表表示不同的信息。 但这远远超出了指导原则。 有些库实际上根据传递的内容而有所不同。 以NumPy为例(从我要求更多示例的 另一篇文章 中复制): >>> import numpy as np >>> a = np.arange(9).reshape(3,3) >>> a array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) >>> idx = (1,1) >>> a[idx] 4 >>> idx = [1,1] >>> a[idx] array([[3, 4, 5], [3, 4, 5]]) 关键是,尽管NumPy可能不是标准库的一部分,但它是一个 主要的 Python库,在NumPy列表和元组中是完全不同的东西。 #4楼 列表和元组之间的区别 文字 someTuple = (1

2-python元组和列表

百般思念 提交于 2019-12-13 13:07:39
目录 元组 列表 1、元组 - 元素有序排列 - 一个元组中的元素不需要具有相同的类型 - 元素不可增添、修改和删除 1.1、创建元组 # 创建元组 tup1 = (1,2,3,4) tup2 = tuple('a','b','c') tup3 = "aa","bb","cc" # 创建单元素元组时要加逗号, tup4 = (1,) # 创建空元组 tup5 = () tup6 = tuple() 1.2、访问元组 - 通过下标来访问元组 a = (1,2,3,4,5,6) # 正序访问从0开始 a[0] >>1 a[3] >>4 # 倒序访问从-1开始 a[-1] >>6 # 访问多个元素 a[1:4] >>(2,3,4,5) 1.3、元组运算 tup = (1,2,3,4,5,6) # 元组组合 a = (1,2,3) b = (4,5,6) a + b >>(1,2,3,4,5,6) # 元组复制 a * 3 >>(1,2,3,1,2,3) # 删除元组 del a a >> Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined 1.4、元组内置函数 tup = (1,2,3,4,5) # 元组长度 len(tup) >

基础数据类型之元组

南楼画角 提交于 2019-12-13 10:45:15
,元组 1,定义 元组用于存储一些比较重要的信息 元组在配置文件中使用 元组是不可变的列表 有序,不可变,可索引 tu = (1992,1103,'david',True) 2,range(范围) python3 中的range是一个可迭代对象 print(range(0,10)) result range(0,10) print(list(range(0,10))) result [0,1,2,3,4,5,6,7,8,9] python2 中的range 返回值是列表 python2 中的xrange 和 python3 中的range相似 print(range(0,10)) result [0,1,2,3,4,5,6,7,8,9] 步长 步长不写得时候默认为1,不适用:,使用逗号(,) for i in range(100,0,-1): print(i) result 100 99 ·· 1 来源: https://www.cnblogs.com/daviddd/p/12033343.html

6-2 jmu-python-组合数据类型-1.计算坐标点欧氏距离 (10分)

孤街醉人 提交于 2019-12-13 05:06:16
6-2 jmu-python-组合数据类型-1.计算坐标点欧氏距离 (10分) 读取若干个点,每个点放入元组。并将所有点的点信息、点的类型、点与原点的距离打印出来。 函数接口定义: readPoint() #从一行以,分隔的数中读取坐标,放入元组并返回 distance(point) #计算point与原点的距离并返回,要math库中的函数 裁判测试程序样例: /* 请在这里填写答案 */ n = int(input()) for i in range(n): p = readPoint() print(‘Point = {}, type = {}, distance = {:.3f}’.format(p,type§,distance§)) 输入格式: 输入n,代表底下要输入n行点坐标。坐标全部为整数。 点坐标x,y,z以,分隔。坐标全部为整数。 注意:坐标以,分隔,相应位置可能无字符或者包含多个空格字符,读入时按照0进行处理。 输出格式: 见输出样例 输入样例: 5 1,1,1 , 2,1 3,1,3 5, 输出样例: Point = (1, 1, 1), type = <class ‘tuple’>, distance = 1.732 Point = (0, 0, 0), type = <class ‘tuple’>, distance = 0.000 Point = (2,

Python 变量类型

末鹿安然 提交于 2019-12-11 16:43:52
Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。 变量赋值 Python 中的变量赋值不需要类型声明。 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 等号(=)用来给变量赋值。 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如: 实例(Python 2.0+) #!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # 赋值整型变量 miles = 1000.0 # 浮点型 name = " John " # 字符串 print counter print miles print name 运行实例 » 以上实例中,100,1000.0和"John"分别赋值给counter,miles,name变量。 执行以上程序会输出如下结果: 100 1000.0 John 多个变量赋值 Python允许你同时为多个变量赋值。例如: a = b = c = 1 以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。

Python3 元组

北战南征 提交于 2019-12-10 19:10:14
元组运算符 与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。 Python 表达式 结果 描述 len((1, 2, 3)) 3 计算元素个数 (1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接 ('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 复制 3 in (1, 2, 3) True 元素是否存在 for x in (1, 2, 3): print (x,) 1 2 3 迭代 元组索引,截取 因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示: Python 表达式 结果 描述 L[2] 'Runoob' 读取第三个元素 L[-2] 'Taobao' 反向读取;读取倒数第二个元素 L[1:] ('Taobao', 'Runoob') 截取元素,从第二个开始后的所有元素。 元组内置函数 Python元组包含了以下内置函数 序号 方法及描述 实例 1 len(tuple) 计算元组元素个数。 >>> tuple1 = ('Google', 'Runoob', 'Taobao') >>> len(tuple1) 3 >>> 2 max(tuple) 返回元组中元素最大值。 >>> tuple2 = (

python-13-函数

半腔热情 提交于 2019-12-10 11:03:25
一、函数的返回值   如果希望一个函数执行完毕后,向外部汇报执行结果,就可以增加函数的返回值      1、返回多个    利用元组可以返回多个数据    如果函数返回的值是元组,小括号可以省略    可以使用多个变量一次接收多个数据    注意:变量的个数应该与元组中元素的个数保持一致   2、交换两个变量的值        右边其实是一个元组,只是省略了小括号。 二、函数的参数   如果函数内部处理的数据不确定,就可以将外部要处理的数据以参数传递到函数内部  1、函数内部,重新赋值传进的全局变量参数,并不会修改全局变量。 1 def demo(num, num_list): 2 print("内部函数") 3 num = 200 4 num_list = [1,1,1] 5 6 print(num) 7 print(num_list) 8 9 num = 100 10 num_list = [1,2,3] 11 demo(num, num_list) 12 print("全局") 13 print(num) 14 print(num_list)     2、如果传递的参数是可变类型,在函数内部,使用方法修改了数据的内容,同样会影响到外部的数据 1 def demo2(num_list): 2 num_list.append(4) 3 print(num_list) 4 5 6

python的列表,元组,字典

与世无争的帅哥 提交于 2019-12-10 10:54:57
#coding:utf-8 str = "happy" print ( str [ 0 : 3 ] ) # 左闭右开 print ( str [ 0 : - 1 ] ) # 从0取到倒数第二位 # str[1:] 从下标为1到最后一位 print ( str [ 1 : ] ) # str*2 print ( str * 2 ) # \n换行 print ( "eve\ning" ) # 在输出前加r表示不转义 print ( r "eve\ning" ) # \是续行符 续行符后面不能加其它字符 print ( "a" \ "b" ) #coding:utf-8 # 列表中可以存放不同的数据类型 list = [ "java" , "3.14" , "python" , 999 , 666 ] alist = [ "c#" , "html" , 333 ] # 列表的值可以被修改 list [ 1 ] = 3.1415926 print ( list ) print ( list [ 1 ] ) print ( list [ 1 : 3 ] ) # 左闭右开 print ( list [ 2 : ] ) # 从下标2开始到最后(包括最后) print ( list * 2 ) # 列表可以拼接,组成一个新的类别 nlist = list + alist print ( nlist

6-4 jmu-python-组合数据类型-3.二维坐标点统计 (15分)

为君一笑 提交于 2019-12-10 03:17:07
随机生成n个点并存入字典,每个点的坐标为(x, y),坐标x、y的取值范围是[0,10]之间的整数。 随机生成点的过程中可能会产生重复的点(两个点的坐标值一样),需记录该点生成的次数,如在 整个生成点的过程中生成了3个坐标为(2,1)的点,那么需将3作为点生成次数纪录下来。 最后在字典中查询3次点坐标,并返回查询结果。 建议:使用字典存储点。 思考:如何在此基础上使用蒙特卡洛方法计算圆周率。 步骤如下: 输入n代表要产生n个点 输入x代表随机数种子(注意:设置种子前需将x转化为整型) 调用generatePoint(n)函数生成n个点,每个点包含x,y坐标,将(x,y)存为元组,然后将该元组作为元素放入列表(可放重复的点坐标),并将该列表返回。 调用createPointDict(pList)将步骤1生成的点列表pList中的每个点放入字典pDict中,字典的键为点(元组),值为出现次数。 调用doQuery(pDict, p): 在pDict中查询p,如果查到则输出点即出现次数,否则输出Not Found。 注意:需要导入random库 函数接口定义: generatePoints(n) #产生n个2维坐标点放入列表并返回该列表 createPointDict(pList) #将pList中的节点加入字典并统计出现次数,然后返回字典 doQuery(pDict, p)

Python序列相关内容

落花浮王杯 提交于 2019-12-10 03:11:21
Collections模块 namedtuple Python元组的升级版本 -- namedtuple(具名元组) 因为元组的局限性:不能为元组内部的数据进行命名,所以往往我们并不知道一个元组所要表达的意义,所以在这里引入了 collections.namedtuple 这个工厂函数,来构造一个带字段名的元组。具名元组的实例和普通元组消耗的内存一样多,因为字段名都被存在对应的类里面。这个类跟普通的对象实例比起来也要小一些,因为 Python 不会用 __dict__ 来存放这些实例的属性。 返回一个具名元组子类 typename,其中参数的意义如下: typename :元组名称 field_names : 元组中元素的名称 rename : 如果元素名称中含有 python 的关键字,则必须设置为 rename=True [Python] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 from collections import namedtuple User = namedtuple( "User" , [ "name" , "gender" , "age" ]) # 创建一个User对象 user = User(name =