返回顶部

python 数据类型Ⅲ(字典)

 

回顾&补充

  • 面试题

    #数据类型判断
    a = 1 #int
    b = (1) #int
    c = ('1') #str
    d = (1,) #tuple
  • int

    • py2/py3

    • 除法

    • 强制转换:

      • int('字符串') 【重要】

      • int(布尔值)

  • bool :0-空字符串-空列表-空元组-空字典为False

    • 强制转换:

      • bool(整数) -> bool(1)/..

      • bool(字符串) -> bool('xx')

      • bool(列表) -> bool([x,])

      • bool(元组) -> bool(())

v1 = bool(0)
v2 = bool("")
v3 = bool([])
v4 = bool(())
print(v1,v2,v3,v4) # False
  • str

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

    • 公共公共:

      • len

      • 索引

      • 切片

      • 步长

      • for循环

      • 删除【无】

      • 更新【无】

    • 强制转换:

      • str(999) # "999"

      • str(True) # "True"

      • str(["唐开发",'李忠伟']) # "["唐开发",'李忠伟']" --> v2 = "".join(["唐开发",'李忠伟'])

      • str(["唐开发",'李忠伟'])

  • list

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

    • 公共功能:

      • len

      • 索引

      • 切片

      • 步长

      • for循环

      • 删除

      • 更新

    • 强制转换:

      • list("asdfadfasfdadfasfd")

        v1 = list("asdfadfasfdadfasfd")
        print(v1)  #['a', 's', 'd', 'f', 'a', 'd', 'f', 'a', 's', 'f', 'd', 'a', 'd', 'f', 'a', 's', 'f', 'd']
      • list( (11,22,33,44,) )

      v1 = list( (11,22,33,44,) )
      print(v1) #[11, 22, 33, 44]
  • tuple

    • 独有功能【无】

    • 公共功能:

      • len

      • 索引

      • 切片

      • 步长

      • for循环

      • 删除【无】

      • 更新【无】

    • 强制转换:

      • tuple('adfadfasdfasdfasdfafd')

        v1 = tuple('adfadfasdfasdfasdfafd')
        print(v1) # ('a', 'd', 'f', 'a', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 'f', 'd')
      • tuple([11,22,33,44])

        v1 = tuple([11,22,33,44])
        print(v1)  # (11, 22, 33, 44)
  • 常见的类型转换

    # 字符串转数字
    # 数字转字符串
    # 列表转元组
    # 元组转列表
    # 其他转bool时,只有:0 “” [] ()
    # 列表转字符串:
    nums = [11,22,33,44]
    for a in range(0,len(nums)):
       nums[a] = str(nums[a])
    result = ''.join(nums)
    print(result)

字典

  • 字典:帮助用户表示事物的信息(事物有多个属性)

  • 基本格式:字典键的数据类型不能为list和tuple,值可以为任何类型.

    dictionary = {'键':'值','键':'值','键':'值'}
  1. 独有功能:

    info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
    • 获取字典info所有键.keys()

      for i in info.keys():
      print(i)
    • 获取字典info所有值.values()

      for i in info.values():
      print(i)
    • 获取字典info所有的键值对.items()

      for i in info.items():
      print(i)
  2. 公共功能:

    • len()一个键值对为一个元素

    • 索引

      info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
      info['name']
      info['age']     #####========>>>字典索引为键
    • 切片【无】

    • 步长【无】

    • for

      info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}

      for item in info.keys():
         print(item)

      for item in info.values():
         print(item)
         
      for a,b in info.items():
         print(a,b)      #name 刘伟达
        #...
    • 修改(存在就修改/不存在就增加)

      #改值
      info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
      info[age]=20
      print(info)  #{"name":'刘伟达','age':20,'gender':'男','hobby':'同桌'}

      #改键:先删除键值,再添加,不能直接修改
      del info['hobby']
      info['xxxxx'] = 'x1'
    • 删除 del[]

      info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
      del info['name']
      print(info)

重点

  • int

  • bool

  • str

  • list

  • tuple

  • dict

经典例题

#创建出一个用户列表,然后让用户输入用户名和密码进行登陆。
"""
  user_list = [
      {'user':'alex','pwd':'123'},
      {'user':'oldboy','pwd':'123'},
      {'user':'lishaoqi','pwd':'1123'},
      {'user':'liqihang','pwd':'123'},
      {'user':'xxx','pwd':'123'},
      # N退出输入]

"""
lis=[]
while True:
   k = input('请输入user:')
   if k == 'N':
       break
   v = input('请输入pwd:')
   usr_list = {'user':k,'pwd':v}
   lis.append(usr_list)
print(lis)
a = input('请输入用户名:')
b = input('请输入密码:')
c = '输入错误,登录失败'
for i in lis:
   if a == i['user'] and b==i['pwd']:
       c = '输入正确登成功'
       print(c)
       break
print(c)

 

posted @ 2019-04-03 16:03  高薪程序员  阅读(126)  评论(0编辑  收藏  举报