Python数据分析——基础02
元组(tuple)
元组是一个固定长度,不可改变的序列对象。
创建元组
用逗号分隔一列值
tup = 1,2,3
# (1, 2, 3)
用圆括号
tup = (1,2,3), (4,5,6,7)
# ((1, 2, 3), (4, 5, 6, 7))
使用tuple()
可以将任意序列或迭代器转换成元组
tuple([1,2,3,4])
# (1, 2, 3, 4)
tuple('string')
# ('s', 't', 'r', 'i', 'n', 'g')
操作元组
使用索引
tup = (1,2,3)
tup[1]
# 2
如果元组中的某个对象是可变得,可以在原位进行修改。
tup = ([1,2,3], 4,5)
tup[0].append(3)
#([1, 2, 3, 3], 4, 5)
- 可以使用加号将元组连接起来。
- 元组乘一个整数,会将几个元组的复制串联起来,对象本身并没有被复制,只是引用了它。
拆分元组
tup = (4,5,6)
a, b, c = tup
b
# 5
tup = 4,5,(6,7)
a, b, (c, d) = tup
d
# 7
tup = [(1,2,3), (4,5,6), (7,8,9)]
for a, b, c in tup:
print('a = {0}, b = {1}, c = {2}'.format(a, b, c))
'''
a = 1, b = 2, c = 3
a = 4, b = 5, c = 6
a = 7, b = 8, c = 9
'''
# 交换
a, b = 1, 2
b, a = a, b
# 摘取开头的几个元素
tup = 1,2,3,4,5,6,7
a, b, c, *_ = tup
a, b, c, *e = tup
e
# [5, 6, 7, 8, 9]
tuple方法
count()
统计某个值的出现频率。index()
某个值的最小索引。
列表(list)
列表长度可变、内容可以被改变。
创建列表
-
使用方括号创建。
a_list = [1,2,3,'string', None]
-
使用
list()
函数。tup = (1,2,3,'string',None) b_list = list(tup)
-
list()
函数用来在数据处理中实体化迭代器或生成器。list(range(3)) # [0, 1, 2]
添加和删除元素
-
append()
在列表末尾添加元素。a_list = [1,2,3] a_list.append(0) #[1, 2, 3, 0]
-
insert()
在特定的位置插入元素。a_list = [1,2,3] a_list.insert(0,0) # [0, 1, 2, 3]
与
append()
相比,insert()
开销比较大,后续的元素的引用必须在内部进行迁移,以便为新元素提供空间。如果需要在序列的头部和尾部插入一个元素,可能需要使用collections.deque()
,一个双尾部队列。
-
pop()
移除并返回指定位置的元素。a_list = [1,2,3] a_list.pop() # 缺省操作,去除最后一个元素并返回该元素的值。 # 可以制定位置删除元素并返回该位置的元素的值。
-
remove()
去除某个值。a_list = ['1','1','1','1'] a_list.remove('1') # 会删除第一个出现的匹配元素。
-
in
/not in
可以检查列表是否包含某个值。
在列表中检查是否存在某一个值远比字典和集合速度慢,因为Python是线性搜索列表中的值,但是在字典和集合中,在同样的时间内还可以检索其他项(基于哈希表)。