python基础数据类型一(元祖)

今天药忘吃喽~ 2023-10-07 13:47 79阅读 0赞

来源:https://www.cnblogs.com/luckinlee/p/11619855.html

目录

  • 一.元祖

    • 元祖嵌套
  • 二.range

    • range的特性是顾头不顾尾
    • python2和python3中的区别
    • range的语法
    • 常见的问题

一.元祖

1.对于容器型数据类型list,无论谁都可以对其增删改查,那么有一些重要的数据放在list中是不安全的,所以需要一种容器类的数据类型存放重要的数据,创建之初只能查看而不能增删改,这种数据类型就是元祖。

元祖:俗称不可变的列表,又被成为只读列表,元祖也是python的基本数据类型之一,

用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以.但就是不能改.在python中关键字是tuple

  1. tu = ('我','怎么','这么','可爱')
  2. tu1 = tu[0] # 记性下标
  3. print(tu1)
  4. for i in tu:
  5. print(i) # 进行for循环
  6. tu2 = tu[0:3]
  7. print(tu2) # 进行切片
  8. 结果:
  9. Traceback (most recent call last):
  10. File "D:/python_object/path2/test.py", line 1286, in <module>
  11. tu[0] = '你'
  12. NameError: name 'tu' is not defined

关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可以变, 这取决于子元素是否是可变对象.

元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组

  1. tu = ('meet')
  2. print(type(tu)) #type是查看数据类型
  3. 结果:
  4. <class:str>
  5. tu = ('meet',)
  6. print(type(tu)) #type是查看数据类型
  7. 结果:
  8. <class:tuple>

这个知识点如何使用

1.可遍历

2.可切片

3.有len,count,index方法

元祖嵌套

  1. tu = ('今天姐姐不在家','姐夫和小姨子在客厅聊天',('姐夫问小姨子税后多少钱','小姨子低声说道说和姐夫还提钱'))
  2. tu1 = tu[0]
  3. tu2 = tu[1]
  4. tu3 = tu[2][0]
  5. tu4 = tu[2][1]
  6. print(tu1)
  7. print(tu2)
  8. print(tu3)
  9. print(tu4)
  10. 结果:
  11. 今天姐姐不在家
  12. 姐夫和小姨子在客厅聊天
  13. 姐夫问小姨子税后多少钱
  14. 小姨子低声说道说和姐夫还提钱

在哪里使用

就是将一些非常重要的不可让人改动的数据放在元祖中,只供查看。后期你们写项目的时候会有配置文件,配置文件中的不想让人修改的单个变量使用常量,如果是多个不想让人修改的就是用元组来存储

二.range

翻译过来就是范围,那我们我来先看下.

  1. range(0,5,1)
  2. 参数第一个是范围的起始位置
  3. 参数第二个是范围的结束位置
  4. 参数第三个是步长
  5. print(range(0,5))
  6. # 结果:
  7. range(0, 5) #一个范围
  8. # 我们可以通过list方法来转换这个范围来查看一下
  9. l = list(range(0,5))
  10. print(l)
  11. # 结果:
  12. [0, 1, 2, 3, 4]
  13. l = list(range(0,5,2))
  14. print(l)
  15. # 结果:
  16. [0, 2, 4] # 这个结果就会发现和我之前用步长获取的内容是相似的,是的他就是步长
  • range的特性是顾头不顾尾
  • python2和python3中的区别

    1. print(range(0,10))
    2. #python2中直接返回列表,xrange()和python3中的range相似
    3. #python3中作为迭代对象,怎么写就怎么打印,可以使用list()进行转换
  • range的语法

    1. range(0,10)#起始位置和终止位置,起始位置是0时可以默认不写
    2. range(10,1,-1)#也可以从大到小生成数据,
    3. range(1,100,2)#也可以用来生成奇数和偶数等
  • 常见的问题

    1. lst = []
    2. for i in lst:
    3. lst.append("meet")
    4. print(lst) # 不会打印内容 因为lst是空的
    5. lst = [1,2]
    6. for i in lst:
    7. lst.append("meet")
    8. print(lst) # 循环打印lst中的内容 -- 此循环是死循环
    9. lst = [1,2]
    10. for i in lst:
    11. lst.append("meet")
    12. print(lst) # 死循环 -- 不会打印内容
    13. lst = []
    14. for i in range(5):
    15. lst.append([])
    16. print(lst) # [[],[],[],[],[]]
    17. lst = [1,2]
    18. lst[0] = lst
    19. print(lst) # [[...],2]

发表评论

表情:
评论列表 (有 0 条评论,79人围观)

还没有评论,来说两句吧...

相关阅读