python tuple类型如何索引_Python数据类型详解(三)元祖:tuple

一.基本数据类型

整数:int

字符串:str(注:\t等于一个tab键)

布尔值: bool

列表:list

列表用[]

元祖:tuple

元祖用()

字典:dict

注:所有的数据类型都存在想对应的类列里,元祖和列表功能一样,列表可以修改,元祖不能修改。

二.列表所有数据类型:

基本操作:

索引,切片,长度,包含,循环 class tuple(object):

"""

tuple() -> empty tuple

tuple(iterable) -> tuple initialized from iterable's items

If the argument is a tuple, the return value is the same object.

"""

def count(self, value): # real signature unknown; restored from __doc__

""" T.count(value) -> integer -- return number of occurrences of value """

(T.count(价值)- >整数,返回值的出现次数)

return 0

def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__

"""

T.index(value, [start, [stop]]) -> integer -- return first index of value.

Raises ValueError if the value is not present.

"""

(T。指数(价值,[开始,[不要]])- >整数,返回第一索引值。提出了ValueError如果不存在的价值。)

return 0

def __add__(self, *args, **kwargs): # real signature unknown

""" Return self+value. """

pass

def __contains__(self, *args, **kwargs): # real signature unknown

""" Return key in self. """

pass

def __eq__(self, *args, **kwargs): # real signature unknown

""" Return self==value. """

pass

def __getattribute__(self, *args, **kwargs): # real signature unknown

""" Return getattr(self, name). """

pass

def __getitem__(self, *args, **kwargs): # real signature unknown

""" Return self[key]. """

pass

def __getnewargs__(self, *args, **kwargs): # real signature unknown

pass

def __ge__(self, *args, **kwargs): # real signature unknown

""" Return self>=value. """

pass

def __gt__(self, *args, **kwargs): # real signature unknown

""" Return self>value. """

pass

def __hash__(self, *args, **kwargs): # real signature unknown

""" Return hash(self). """

pass

def __init__(self, seq=()): # known special case of tuple.__init__

"""

tuple() -> empty tuple

tuple(iterable) -> tuple initialized from iterable's items

If the argument is a tuple, the return value is the same object.

# (copied from class doc)

"""

pass

def __iter__(self, *args, **kwargs): # real signature unknown

""" Implement iter(self). """

pass

def __len__(self, *args, **kwargs): # real signature unknown

""" Return len(self). """

pass

def __le__(self, *args, **kwargs): # real signature unknown

""" Return self<=value. """

pass

def __lt__(self, *args, **kwargs): # real signature unknown

""" Return self

pass

def __mul__(self, *args, **kwargs): # real signature unknown

""" Return self*value.n """

pass

@staticmethod # known case of __new__

def __new__(*args, **kwargs): # real signature unknown

""" Create and return a new object. See help(type) for accurate signature. """

pass

def __ne__(self, *args, **kwargs): # real signature unknown

""" Return self!=value. """

pass

def __repr__(self, *args, **kwargs): # real signature unknown

""" Return repr(self). """

pass

def __rmul__(self, *args, **kwargs): # real signature unknown

""" Return self*value. """

pass

三.所有元祖数据类型举例 #count 用于计算元素出现的个数

name_tuple = ("zhangyanlin","suoning","nick")

print(name_tuple.count('zhangyanlin'))

#index获取指定元素的指定位置

name_tuple = ("zhangyanlin","suoning","nick")

print(name_tuple.index('zhangyanlin'))

四.索引 name_tuple = ("zhangyanlin","suoning","nick")

print(name_tuple[1])

五.切片 #取出第一位到最后一位减1的元素

name_tuple = ("zhangyanlin","suoning","nick")

print(name_tuple[0:len(name_tuple)-1])

六.总长度len #取出最后一位减1的元素

name_tuple = ("zhangyanlin","suoning","nick")

print(name_tuple[len(name_tuple)-1])

七.for循环 name_tuple = ("zhangyanlin","suoning","nick")

for i in name_tuple:

print(i)

那么使用 tuple 有什么好处呢?

Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。

如果对不需要修改的数据进行 “写保护”,可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句,说明这一数据是常量。如果必须要改变这些值,则需要执行 tuple 到 list 的转换 (需要使用一个特殊的函数)。

还记得我说过 dictionary keys 可以是字符串,整数和 “其它几种类型”吗?Tuples 就是这些类型之一。Tuples 可以在 dictionary 中被用做 key,但是 list 不行。实际上,事情要比这更复杂。Dictionary key 必须是不可变的。Tuple 本身是不可改变的,但是如果您有一个 list 的 tuple,那就认为是可变的了,用做 dictionary key 就是不安全的。只有字符串、整数或其它对 dictionary 安全的 tuple 才可以用作 dictionary key。

Tuples 可以用在字符串格式化中,我们会很快看到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值