python series转list_Python基础之数据结构(一)——元组

最近在整理Python基础语法部分的笔记,准备边整理边分享。本篇是关于元组tumple()的笔记。

Python常用的8种经典数据结构:
  1. Python原生数据结构:元组tumple() 列表list[] 集合{} 字典{A:B}

  2. Numpy包中的数据结构:数组NDarray(带多种操作),矩阵Matrix(多种线性代数计算)

  3. Pandas包中的数据结构:序列Series(索引+1列数据),数据框DataFrame(索引+多列数据集)

元组tumple()

特点: 1.元组属于有序序列,支持使用双向索引访问其中的元素。 2.元组属于不可变(immutable)序列,不可以直接修改元组中元素的值。 3.Python的内部实现对元组做了大量优化,访问速度比列表更快。 4.元组对象是可哈希的,因此其可以用作字典的键,也可以作为集合的元素。

1

元组的创建

创建元组对象。元组一旦创建就无法对其元素进行增加,删除和修改。可以使用()创建元组,元组可以为空且元素类型可以不同,但若元组中仅包含一个数字,则应该添加逗号以区别运算符号。列表对象也可以转换为元组对象。使用tuple()函数可以根据原对象生成一个新的元组对象。

tup1 = ('Google','Apple',1997,2000) #直接把元组赋值给一个变量tup2 = (1,)                         #如果元组中只有一个元素,必须在后面多写一个逗号tup3 = "a", "b", "c", "d"tup4 = ()                           #空元组,等价于tup4 = tuple()print(      'tup1的元素是',tup1,      '\n显示该数据结构类型',type(tup1),      '\ntup2的元素是',tup2,      '\ntup3的元素是',tup3,      '\ntup4的元素是',tup4,      )seq = ['a','b','c','d','e']         #创建一个列表list对象tup = tuple(seq)                    #将列表对象转换为元组print('转换前的seq对象的数据类型是',type(seq),'seq的元素是',seq,      '\n转换后的tup对象的数据类型是',type(tup),'tup的元素是',tup)
输 出结果:
tup1的元素是 ('Google', 'Apple', 1997, 2000) 显示该数据结构类型 <class 'tuple'> tup2的元素是 (1,) tup3的元素是 ('a', 'b', 'c', 'd') tup4的元素是 ()转换前的seq对象的数据类型是 <class 'list'> seq的元素是 ['a', 'b', 'c', 'd', 'e'] 转换后的tup对象的数据类型是 <class 'tuple'> tup的元素是 ('a', 'b', 'c', 'd', 'e')

除了以上方法可以直接创建元组外,很多内置函数的返回值也包含了若干元组的可迭代对象,如 enumerate()、zip()等

list(enumerate(range(5)))[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]list(zip(range(3),'abcdefg'))[(0, 'a'), (1, 'b'), (2, 'c')]

2

元组的查询

       访问元组,可以使用下标索引来访问元组中的值。

print("tuple[0]:",tup[0])print('tuple2[1:5]',tup2[1:5])
结果:
tuple[0]: atuple2[1:5] ()

3

元组的修改和删除

       tuple的修改和删除操作:由于元组属于不可变序列,我们可以通过下标索引访问元组中的元素,但是不可以对其进行修改。同样,我们可以删除整个元组,但是不可以对元组中某个元素进行删除。

#可以通过下标索引访问元组中元素:tup3[0]#但不能对元素进行修改。以下操作会导致报错:tup3[0]=100#这样删除报错:del tup3[0]#这样删除允许:del tup3

4

元组的连接和复制

      虽然元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,返回一个新的元组对象。此外,我们也可以使用*进行复制操作
#创建一个新的元组tup4 = tup1+tup2print("使用+进行操作连接",tup4)tup5 = tup2 * 3print("使用*进行复制操作",tup5)
结果:
使用+进行操作连接 ('Google', 'Apple', 1997, 2000, 1)使用*进行复制操作 (1, 1, 1)

5

元组特殊操作

元组内置函数。len()函数可以返回元组元素的个数。max()函数可以返回元组中最大的元素,min()函数可以返回元组中最小的元素

print('\n计算元组的元素个数',len(tup1),      '\n求元组中的最大元素',max(tup2),      '\n求元组中的最小元素',min(tup2))
结果:
计算元组的元素个数 4 求元组中的最大元素 1 求元组中的最小元素 1

6

元组转换为其它数据结构

       元组数据类型转换。元组可以直接转换成字符串和列表,不过单个的元组无法直接转换成字典。

print("\n元组转列表:\n",list(tup1),      "\n元组转字符串:\n",tup1.__str__())
        结果:
元组转列表: ['Google', 'Apple', 1997, 2000] 元组转字符串: ('Google', 'Apple', 1997, 2000)

   关注我,

一起学编程!

@宇梵文书

d7105e5f6251f973ba75ee38108a029b.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值