1.元组(tuple):与列表类似,但它是不可变序列。因此元组也叫做过不可变列表。
2.创建元组时用();创建列表时用[ ];
3.定义一个函数必须传递一个元组类型的值,但是当我们不想为他传递一组数据的时候,就可以创建一个空元组传递给他。
4.可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组。
tuple()函数基本语法:tuple(data)
5.使用tuple()函数不仅能通过range对象创建元组,还可以通过其他对象创建元组。
6.删除元组,基本语法:del tuplename
7.enumerate()函数可同时列出数据与数据下标,一般在for循环中使用。
8.使用元组推导式生成的结果并不是一个元组或者列表,而是一个生成器对象,这一点和列表推导式不同。
在这里插入代码片:
>>> import random
>>> randomnumber=(random.randint(10,100)for i in range(10))
>>> print("生成的元组是:",randomnumber)
生成的元组是: <generator object <genexpr> at 0x000002A81354ED00>
>>>
要使用该生成器对象,可以将其转换为元组或者列表
转换成列表使用list()函数,转换成元组用tuple()函数.
在这里插入代码片:
生成的元组是: <generator object <genexpr> at 0x000002A81354ED00>
>>> randomnumber=tuple(randomnumber)
>>> print("转换后:",randomnumber)
转换后: (80, 66, 92, 24, 81, 58, 70, 14, 63, 46)
>>>
9.python 2.x中,next()方法为next(),也是用于遍历生成器对象的
10.无论通过哪种方法遍历,如果还想再使用该生成器对象,都必须重新创建一个生成器对象。
在这里插入代码片:
>>> number=(i for i in range(4))
>>> for i in number:
print(i,end="")
print(number)
0<generator object <genexpr> at 0x000002A81354ED00>
1<generator object <genexpr> at 0x000002A81354ED00>
2<generator object <genexpr> at 0x000002A81354ED00>
3<generator object <genexpr> at 0x000002A81354ED00>
>>>
在这里插入代码片
:>>> number=(i for i in range(4))
>>> for i in number:
print(i,end="")
print(tuple(number))
0(1, 2, 3)
>>>
一个python脚本,运行的时候,却出现语法错误:
IndentationError: unindent does not match any outer indentation level
要注意查看是不是没有对齐,看着对齐了就要仔细是不是tab键和空格键混用了。