zoukankan      html  css  js  c++  java
  • python基础数据类型一(元祖)

    一.元祖

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

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

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

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

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

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

    tu = ('meet')
    print(type(tu))  #type是查看数据类型
    
    结果:
    <class:str>
    
    tu = ('meet',)
    print(type(tu))  #type是查看数据类型
    
    结果:
    <class:tuple>
    

    这个知识点如何使用

    1.可遍历

    2.可切片

    3.有len,count,index方法

    元祖嵌套

    tu = ('今天姐姐不在家','姐夫和小姨子在客厅聊天',('姐夫问小姨子税后多少钱','小姨子低声说道说和姐夫还提钱'))
    tu1 = tu[0]
    tu2 = tu[1]
    tu3 = tu[2][0]
    tu4 = tu[2][1]
    
    print(tu1)
    print(tu2)
    print(tu3)
    print(tu4)
    结果:
    今天姐姐不在家
    姐夫和小姨子在客厅聊天
    姐夫问小姨子税后多少钱
    小姨子低声说道说和姐夫还提钱
    

    在哪里使用

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

    二.range

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

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

    • python2和python3中的区别

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

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

      lst = []
      for i in lst:
          lst.append("meet")
          print(lst)  # 不会打印内容  因为lst是空的
      
      lst = [1,2]
      for i in lst:
          lst.append("meet")
          print(lst) # 循环打印lst中的内容 -- 此循环是死循环
      
      lst = [1,2]
      for i in lst:
          lst.append("meet")
      print(lst)  # 死循环 -- 不会打印内容
      
      lst = []
      for i in range(5):
          lst.append([])
      print(lst)  # [[],[],[],[],[]]
      
      lst = [1,2]
      lst[0] = lst
      print(lst)  # [[...],2]
      
  • 相关阅读:
    前端 整理的待学习技术点
    为Xamarin更好的开发而改写的库
    C#函数式编程之可选值
    C#函数式编程之序列
    C#函数式编程之标准高阶函数
    C#函数式编程之递归调用
    C#函数式编程之缓存技术
    C#函数式编程之惰性求值
    C#函数式编程之部分应用
    Xamarin.Android之动画
  • 原文地址:https://www.cnblogs.com/luckinlee/p/11619855.html
Copyright © 2011-2022 走看看