当前位置:   article > 正文

[Python]学习笔记4——元组_python tuple初始化

python tuple初始化

什么是元组?

元组是一种序列,就像列表一样。元组和列表之间的区别在于,与列表(可变)不同,元组不能更改(不可变)。
元组使用括号(),而列表使用方括号[]。

1、初始化元组与赋值

#两种方法都可以初始化
emptyTuple=()
emptyTuple1=tuple()

#两种方法都可以赋值
emptyTuple=(1,2,3,4)
emptyTuple1=1,2,3,4

print(emptyTuple)
print(emptyTuple1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

结果:
在这里插入图片描述

重要的是要记住

如果要创建仅包含一个值的元组,则需要在项目后面添加一个逗号。

#只有一个值的话后面要加逗号
tup=('a',)
tup1='a',

#如果没有逗号,那它是一个string不是一个元组了
notTuple=('a')

print(tup)
print(tup1)
print(notTuple)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

结果:
在这里插入图片描述
2、访问值

tun=(2,3,4,5)
print(tun[0])#索引正向从0开始
print(tun[-4])#索引负向从最后一个-1开始倒数
  • 1
  • 2

结果:
在这里插入图片描述
3、切分元组

tun=(2,3,4,5)
print(tun[0:2])
print(tun[:3])
print(tun[-3:-1])
  • 1
  • 2
  • 3

结果:
在这里插入图片描述
4、元组不可改变

tun=(2,3,4,5)
tun[0]='fish'
  • 1

结果:
在这里插入图片描述

即使元组是不可变的,也可以采用现有元组的一部分来创建新的元组

tun=(2,3,4,5)
tun1=(6,7,8,9)
tunall=tun+tun1
print(tunall)
  • 1
  • 2
  • 3
  • 4

结果:
在这里插入图片描述
5、Tuple方法

animals=('pig','pig','cat',1)

#返回索引
print('pig first index: ',animals.index('pig'))
print('cat first index: ',animals.index('cat'))

#计数
print(animals.count('pig'))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

结果:
在这里插入图片描述

6、遍历元组

animals=('pig','pig','cat',1)

for item in animals:
    print(item)

for item in ('a','b','c'):
    print(item)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

结果:
在这里插入图片描述
7、元组拆包
元组对序列解包非常有用

x,y=(7,10)
print(x)
print(y)

print("Value of x is {},the value of y is {}".format(x,y))
  • 1
  • 2
  • 3
  • 4

结果:
在这里插入图片描述
8、枚举
枚举函数返回一个元组,其中包含每次迭代的计数(从默认为0的开始)和迭代序列获得的值

friends = ('Steve', 'Rachel', 'Michael', 'Monica')
for index, friend in enumerate(friends):
    print(index,friend)
    print(index)
    print(friend)


for index in enumerate(friends):
    print(index)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

结果:
在这里插入图片描述

元组相对列表的优势

列表和元组是标准Python数据类型,用于在序列中存储值。元组是不可变的,而列表是可变的。

以下是元组列表的一些其他优点:

**组比列表更快。**如果你要定义一组常量值,那么你将要做的就是迭代它,使用元组而不是列表。可以使用timeit库部分测量性能差异,该库允许您为Python代码计时。下面的代码为每个方法运行代码100万次,并输出所花费的总时间(以秒为单位)。

import timeit 
print('Tuple time: ', timeit.timeit('x=(1,2,3,4,5,6,7,8,9,10,11,12)', number=1000000))
print('List time: ', timeit.timeit('x=[1,2,3,4,5,6,7,8,9,10,11,12]', number=1000000))
  • 1
  • 2

结果:
在这里插入图片描述
元组可以用作字典键:一些元组可以用作字典键(特别是包含不可变值的元组,如字符串,数字和其他元组)。列表永远不能用作字典键,因为列表不是不可变的。

bigramsTupleDict = {('this', 'is'): 23,
                    ('is', 'a'): 12,
                    ('a', 'sentence'): 2}

print(bigramsTupleDict)
  • 1
  • 2
  • 3
  • 4

结果:
在这里插入图片描述
而列表不行

bigramsListDict = {['this', 'is']: 23,
                   ['is', 'a']: 12,
                   ['a', 'sentence']: 2}

print(bigramsListDict)
  • 1
  • 2
  • 3
  • 4

结果:
在这里插入图片描述
元组可以是集合中的值

graphicDesigner = {('this', 'is'),
                   ('is', 'a'),
                   ('a', 'sentence')}
print(graphicDesigner)
  • 1
  • 2
  • 3

结果:
在这里插入图片描述
列表不可以是集合中的值:

graphicDesigner = {['this', 'is'],
                   ['is', 'a'],
                   ['a', 'sentence']}
print(graphicDesigner)
  • 1
  • 2
  • 3

结果:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/305742
推荐阅读
相关标签
  

闽ICP备14008679号