① python什么是元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号定义,列表使用方括号定义。
例如:
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
元组与列表类似,下标索引从0开始,使用下标来访问数据。但元祖中,元素值是不允许修改的。
② python 中怎样把很多的list存放到tuple元祖中
list和元祖都是集合类型,tuple是不可变的,定义的时候就确定长度了。
把很多的list放进tuple中那么就得在定义tuple的时候确定好多个list结合之后的结果。
在python中可以直接用+操作符把多个list链接起来作为一个新的list
例如:
a1=[1,2,3,4,5,6]
a2=[7,8,9,10]
a3=a1+a2#输出a3将会=[1,2,3,4,5,6,7,8,9,10]
已经想到链接多个list的方法了,那么最后就是把list转换成tuple;可以直接在创建tuple的时候传入链接之后的a3比如完整的代码是:
a1=[1,2,3,4,5,6]
a2=[7,8,9,10]
a3=a1+a2#输出a3将会=[1,2,3,4,5,6,7,8,9,10]
t1=tuple(a3)
print('t1=',t1)#将会输出(1,2,3,4,5,6,7,8,9,10)
print(isinstance(t1,tuple))#将会输出True
③ python怎么操作多维数组元素
在Python中,一个像这样的多维表格可以通过“序列的序列”实现。一个表格是行的序列。每一行又是独立单元格的序列。这类似于我们使用的数学记号,在数学里我们用Ai,j,而在Python里我们使用A[i][j],代表矩阵的第i行第j列。
这看起来非常像“元组的列表”(Lists of Tuples)。
“列表的列表”示例
我们可以使用嵌套的列表推导式(list comprehension)创建一个表格。 下面的例子创建了一个“序列的序列”构成的表格,并为表格的每一个单元格赋值。
table= [ [ 0 for i in range(6) ] for j in range(6) ]
print table
for d1 in range(6):
for d2 in range(6):
table[d1][d2]= d1+d2+2
print table
123456
程序的输出结果如下:
[[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]
[[2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 8], [4, 5, 6, 7, 8, 9],
[5, 6, 7, 8, 9, 10], [6, 7, 8, 9, 10, 11], [7, 8, 9, 10, 11, 12]]
1234
这个程序做了两件事:创建了一个6 × 6的全0表格。 然后使用两枚骰子的可能组合的数值填充表格。 这并非完成此功能最有效的方式,但我们通过这个简单的例子来演示几项技术。我们仔细看一下程序的前后两部分。
程序的第一部分创建并输出了一个包含6个元素的列表,我们称之为“表格”;表格中的每一个元素都是一个包含6个0元素的列表。它使用列表推导式,对
于范围从0到6的每一个j都创建对象。每一个对象都是一个0元素列表,由i变量从0到6遍历产生。初始化完成之后,打印输出二维全0表格。
推导式可以从里向外阅读,就像一个普通表达式一样。内层列表[ 0 for i in range(6) ]创建了一个包含6个0的简单列表。外层列表[ [...] for j in range(6) ]创建了这些内层列表的6个深拷贝。
程序的第2个部分对2个骰子的每一个组合进行迭代,填充表格的每一个单元格。这由两层嵌套循环实现,每一个循环迭代一个骰子。外层循环枚举第一个骰子的所有可能值d1。内层循环枚举第二个骰子d2。
更新每一个单元格时需要通过table[d1]选择每一行;这是一个包含6个值的列表。这个列表中选定的单元格通过...[d2]进行选择。我们将掷骰子的值赋给这个单元格,d1+d2+2
其他示例
打印出的列表的列表不太容易阅读。下面的循环会以一种更加可读的形式显示表格。
>>>
for row in table:
...
print row
...
[2, 3, 4, 5, 6, 7]
[3, 4, 5, 6, 7, 8]
[4, 5, 6, 7, 8, 9]
[5, 6, 7, 8, 9, 10]
[6, 7, 8, 9, 10, 11]
[7, 8, 9, 10, 11, 12]
12345678910111213
作为练习,读者可以试着在打印列表内容时,再打印出行和列的表头。提示一下,使用"%2d" % value字符串运算符可以打印出固定长度的数字格式。
显示索引值(Explicit Index Values)
我们接下来对骰子表格进行汇总统计,得出累计频率表。我们使用一个包含13个元素的列表(下标从0到12)表示每一个骰子值的出现频率。观察可知骰子值2在矩阵中只出现了一次,因此我们期望fq[2]的值为1。遍历矩阵中的每一个单元格,得出累计频率表。
fq= 13 * [0]
for i in range(6):
for j in range(6):
c= table[i][j]
fq[ c ] += 1
12345
使用下标i选出表格中的行,用下标j从行中选出一列,得到单元格c。然后用fq统计频率。
这看起来非常的数学和规范。Python提供了另外一种更简单一些的方式。
使用列表迭代器而非下标
表格是列表的列表,可以采用无下标的for循环遍历列表元素。
fq= 13 * [0]
print fq
for row in table:
for c in row:
fq[c] += 1
print fq[2:]
④ python 元组、列表问题
a=(0,0,0,0)
foriinrange(4):
forjinrange(1,4):
b=list(a)
b[i]=j
print(tuple(b))
元祖中的元素不可被修改,可以先将元祖转为list变更后再转回来
⑤ python里面元组是什么意思
元组其实和列表的差距并不是很大,但是也有其独立的特点:
①元组是一系列不可变的Python对象。元组是一种序列,就像列表一样;列表通常用来存储相同类型的数据;而元组在实际开发中,通常用来存储不同类型的数据。
②元组和列表之间的主要区别是元组不能像列表那样改变元素的值,可以简单地理解为“只读列表”。 元组使用小括号 -(),而列表使用方括号 -[];
③元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
<p class="ztext-empty-paragraph">
创建元组:需使用逗号分隔值放入小括号的一个序列。 或者,也可以将这些逗号分隔值放在括号之间。
元组元素的访问:请使用方括号进行指定索引切片或索引,以获取该索引处的值。
更改元组:元组是不可变的,但是可以使用现有元组的一部分来创建新的元组。
删除元组元素:元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。
python元组构建了对象的简单组合,元组与列表非常相似,但元组不能在原位置修改,通常写成包在圆括号中的一系列项,且具有列表的大多数属性。
元组是:
任意对象的有序集合:与字符串和列表类似,元组是一个基于位置的有序对象集合,可以嵌入任何类型的对象。
通过偏移量存取:同字符串、列表一样,元组中的元素也是通过偏移量来访问的,支持索引和分片。
属于“不可变序列”:与字符串相同,元组是不可变的,不支持适用于列表的任何原位置修改操作。
固定长度、多样性、任意嵌套:元组不可变,所以不能改变元组长度,元组可以包含复合对象,支持任意嵌套。
对象引用数组:与列表相似,元组也是对象引用的数组,存储了指向其他对象的存取点。
⑥ python使用in操作符时元组和数组的区别分析
在python中可以使用in符号判断指定的元素是否存在于列表中,但我发现元组和数组存在区别,下面是详细实验结果。
>>> 'test' in ['replace','test']
True
>>> 'test' in ('replace','test')
True
>>> 'test' in ['test/codes','replace']
False
>>> 'test' in ('test/codes','replace')
False
>>> 'test' in ['test/codes']
False
>>> 'test' in ('test/codes')
True
前面5条测试都符合我们的预期,只有最后一条,将数组换成元组后,在元组中只有一个元素的时候,python居然是把元组当成了字符串处理,不知道为什么会有这样的处理方式,但开发的时候却要注意,只用in语句判断数组中是否存在制定元素时,最好用[]的数组,而非元组
⑦ python语言,这里到底是创建了几个元组啊,,
先放到一个数组里面,然后转化为元组就行了啊:
aArray=[]
aArray.append(1)
aArray.append(2)
aArray.append(3)
aArray.append(4)
bArray=tuple(aArray)