# -*- coding：utf-8 -*-#

# --------------------------------------------------------------
# NAME:          06
# Description:   使用元组(元素不可变，如果不需要对元素进行添加、删除和修改的时候，可以考虑使用元组)
#                 元组在创建列表和占用内容空间 都要优于  列表
# Author:        xuezy
# Date:          2020/7/2 18:47
# --------------------------------------------------------------


def main():
    # 定义元组  只有一个元素的时候 要加逗号，如：t = ('a',)
    t = ('骆驼', 38, True, '成都')
    print(t)
    # 获取元素
    # 第一个元素：骆驼
    print(t[0])
    # 第四个元素：成都
    print(t[3])

    # 遍历元组中的值
    for i in t:
        # 骆驼,38,True,成都,
        print(i, end=',')
    # 元组的元素不可以修改，下面这样写会报错
    # t[0] = 1

    print()

    # 变量t重新引用了新的元组，原来的元组将被垃圾回收
    t = (1, 3, 4, '测试')
    # (1, 3, 4, '测试')
    print(t)

    # 将元组转换为列表
    ta = list(t)
    [1, 3, 4, '测试']
    print(ta)
    # 修改列表元素值
    ta[0] = 11
    # [11, 3, 4, '测试']
    print(ta)

    # 将列表转换为元组
    fruits = ['orange', 'apple', 'banana']
    fruits_tuple = tuple(fruits)
    # ('orange', 'apple', 'banana')
    print(fruits_tuple)


if __name__ == '__main__':
    main()
