51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1836|回复: 4
打印 上一主题 下一主题

关于Python中的字典

[复制链接]
  • TA的每日心情
    慵懒
    2018-4-11 10:09
  • 签到天数: 210 天

    连续签到: 1 天

    [LV.7]测试师长

    跳转到指定楼层
    1#
    发表于 2016-6-1 14:49:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-

    dict = {}
    dict['one'] = "This is one"
    dict[2] = "This is two"

    tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


    print dict['one'] # 输出键为'one' 的值
    print dict[2] # 输出键为 2 的值
    print tinydict # 输出完整的字典
    print tinydict.keys() # 输出所有键
    print tinydict.values() # 输出所有值
    -------------------------------------------------------------------------------------------------------------------
    输出结果:
    This is one
    This is two
    {'dept': 'sales', 'code': 6734, 'name': 'john'}
    ['dept', 'code', 'name']
    ['sales', 6734, 'john']

    ----------------------------------------------------------------------
    没搞明白的是为啥这边输出完整字典和所有键、所有值的时候,是倒序输出的??
    有没有Python大神知道。。
    我才入门学习ing
    谢谢
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    2#
    发表于 2016-6-1 15:27:14 | 只看该作者
    python的字典并没有顺序可言,打印的顺序是随机的,并不是你说的倒序。
    字典是通过键和值关联起来的,而不像列表、数组那样通过索引.

    例子:
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    tinydict = {'1': 'john','2':6734, '3': 'sales'}
    print tinydict # 输出完整的字典
    print tinydict.keys() # 输出所有键
    print tinydict.values() # 输出所有值
    执行结果:
    {'1': 'john', '3': 'sales', '2': 6734}
    ['1', '3', '2']
    ['john', 'sales', 6734]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-24 13:41
  • 签到天数: 314 天

    连续签到: 1 天

    [LV.8]测试军长

    3#
    发表于 2016-6-1 15:34:43 | 只看该作者
    字典是无序的
    如果你想排列可以按如下方法

    函数原型:sorted(dic,value,reverse)
    解释:dic为比较函数,value 为排序的对象 (这里指键或键值);reverse:注明升序还是降序,True--降序,False--升序(默认)

    举例:比如你想把你的字典按键降序排列 如下
    tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
    print sorted(tinydict.iteritems(), key=lambda t:t[0], reverse=True)

    举例:比如你想把你的字典按键值生序排列 如下
    tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
    print sorted(tinydict.iteritems(), key=lambda t:t[1], reverse=True)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-4-11 10:09
  • 签到天数: 210 天

    连续签到: 1 天

    [LV.7]测试师长

    4#
     楼主| 发表于 2016-6-2 08:59:13 | 只看该作者
    若尘_51 发表于 2016-6-1 15:27
    python的字典并没有顺序可言,打印的顺序是随机的,并不是你说的倒序。
    字典是通过键和值关联起来的,而不 ...

    奥,明白了。
    也就是说这边打印的结果顺序是随机的,任何顺序都有可能奥。

    谢谢啦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-4-11 10:09
  • 签到天数: 210 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
     楼主| 发表于 2016-6-2 08:59:59 | 只看该作者
    掉渣饼 发表于 2016-6-1 15:34
    字典是无序的
    如果你想排列可以按如下方法

    非常感谢大神!又学习了!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-6 09:06 , Processed in 0.071183 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表