zoukankan      html  css  js  c++  java
  • python笔记(4)--数据类型(字典)

    数据类型(字典)

    内容目录:

    • 字典

    内容和回顾:

    • int

      • py2/py3的区别
      • 除法
      • 强制转换
        • int("字符串") 【重要】
        • int(布尔值)
    • bool

      v1 = bool(0)
      v2 = bool("")
      v3 = bool([])
      v4 = bool(())
      print(v1,v2,v3,v4)		#全部为False,其他都为True
      
    • str

      • 独有功能:upper / lower / split / strip / replace / isdigit / startswith / endswith / format / encode

      • 公共功能:

        • len
        • 索引
        • 切片
        • 步长
        • for循环
        • 不支持删除 / 更新
      • 强制转换:

        • str(999) #转变为字符串类型"999"

        • str(True) #转变为字符串类型"True"

        • str(["洛阳","长安"])

          str(["洛阳","长安"])		#结果为"["洛阳","长安"]"
          #如果想取里面的值,可以使用:
          v2 = "".join(["洛阳","长安"])  #结果为"洛阳长安"
          
    • list

      • 独有功能:append / insert / pop / remove / clear / extend

      • 公共功能:

        • len
        • 索引
        • 切片
        • 步长
        • for循环
        • 删除
        • 更新
      • 强制转换:

        • 字符串转换列表:

          v1 = list("asdfasdfasf")
          print(v1)
          #结果为['a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'f']
          
        • 元组转换为列表:

          v1 = list((11,22,33))
          print(v1)
          #结果为[11, 22, 33]
          
    • tuple

      • 独有功能:无

      • 公共功能:

        • len
        • 索引
        • 切片
        • 步长
        • for循环
      • 强制转换:

        • 字符串转换元组

          v1 = tuple("asdfasdfasf")
          print(v1)
          #结果为('a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'f')
          
        • 列表转换元组

          v1 = tuple([11,22,33,44])
          print(v1)
          #结果为(11, 22, 33, 44)
          
    • 总结:

      • 常见的类型转换
      #字符串转数字	str转int
      #数字转字符串 int转str
      #列表转元组   list转tuple
      #元组转列表   tuple转list
      #其他转布尔时,只有:0 "" [] ()为False 其他都为True
      
      • 练习题
        • 注意使用字符连接的时候,join内必须是字符串
      #将nums使用"_"连接起来
      nums = [11,22,33,44]
      for i in range(0,len(nums)):	#取下标
          nums[i] = str(nums[i])		#将nums内所有元素转为str类型
      v1 = "_".join(nums)
      print(v1)					   #结果为11_22_33_44
      

    今日内容:

    1.字典:dict

    • 帮助用户去表示一个事物的信息(事物是多个属性)(无序的)
    • 字典内键没有重复的,最后的值会覆盖掉之前重复的值,键可以被哈希
    • 字典内值可以重复
    #   info = {键:值,键:值,键:值,键:值,键:值,键:值}
    info = {"name":"yanan","age":18,"gender":"男","hobby":"女"} #键值
    info['name']	#取出'yanan'
    info['age']		#取出18
    

    独有功能:

    info = {"name":"yanan","age":18,"gender":"男","hobby":"女"} 
    
    info.keys() #取出键
    for item in info.keys():
         print(item)		#输出为:name  age	gender	hobby
    
    info.values #取出值
    for val in info.values():
         print(item)		#输出为:yanan  18	男	女
    
    info.items #取出所有键值对
    for v1,v2 in info.items():
        print(v1,v2)
    '''输出:
    name yanan
    age 18
    gender 男
    hobby 女		'''
    

    公共功能:

    len
    info = {"name":"yanan","age":18,"gender":"男","hobby":"女"}
    print(len(info))	#输出结果为 4
    
    索引
    info = {"name":"yanan","age":18,"gender":"男","hobby":"女"}
    info["name"]
    info["age"]
    
    for
    info = {"name":"yanan","age":18,"gender":"男","hobby":"女"}
    for k,v in info.items():
        print(k,v)   #取出k为键,v为值
    
    for val in info.items():
        print(val)	#输出为由键值组成的元组
        """
    ('name', 'yanan')
    ('age', 18)
    ('gender', '男')
    ('hobby', '女') 
        """
    
    修改/添加
    • 只能改值,无法改键
    • 如果想改键,则删除该键值,重新添加
    info = {"name":"yanan","age":18,"gender":"男","hobby":"女"}
    info["age"] = 19
    print(info)
    
    删除
    • del info["键"] #删除该键值对
    info = {"name":"yanan","age":18,"gender":"男","hobby":"女"}
    del info["name"]
    print(info)
    

    特性:

    数据类型嵌套
    • 字典可以嵌套str / int / bool / list / tuple / dict
    键值对不可重复
    无序(3.6版本后为有序)
    • 有序:元组 / 列表
    • 无序:字典(py3.6之后字典为有序)

    2.练习

    1. 请输出字典内所有的键与值,并让用户输入键,输出值
    #请输出字典内所有的键与值,并让用户输入键,输出值
    info = {"name":"yanan","age":18,"gender":"男","hobby":"女"}
    for k,v in info.items():
        print(k,v)
    while True:
        user = input("请输入键:")
        print(info[user])
    
    1. 给空字典中增加键值对
    #给空字典中增加键值对
    info = {}
    info["k1"] = 1
    info["k2"] = 2
    info["k3"] = 3
    print(info)
    
    1. 给一个空字典,请让用户输入三次key和value,然后打印该字典。如输入key的值开头有“N”,中止输入,打印字典
    info = {}
    for i in range(0,3):
        key = input("请输入key:")
        if key.startswith("N"):
            break
        val = input("请输入value:")
        info[key] = val
    print(info)
    

    重点

    • int
    • str
    • bool
    • list
    • tuple
    • dict
  • 相关阅读:
    我爱淘冲刺阶段站立会议每天任务2
    我爱淘冲刺阶段站立会议每天任务1
    大道至简-灵活的软件工程
    大道至简-实现,才是目的
    冲刺第二阶段工作总结06
    课堂练习-最低价购书方案
    构建之法阅读笔记04
    冲刺第二阶段工作总结05
    冲刺第二阶段工作总结04
    冲刺第二阶段工作总结03
  • 原文地址:https://www.cnblogs.com/lynlearnde/p/11586840.html
Copyright © 2011-2022 走看看