博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
练习题9
阅读量:5915 次
发布时间:2019-06-19

本文共 3729 字,大约阅读时间需要 12 分钟。

  1. 现有一个字典dict1 保存的是小写字母a-z对应的ASCII码

dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}

1) 将该字典按照ASCII码的值排序

2) 有一个字母的ASCII错了,修改为正确的值,并重新排序

  1. 用最简洁的代码,自己生成一个大写字母 A-Z 及其对应的ASCII码值的字典dict2(使用dict,zip,range方法)

  2. 将dict2与第一题排序后的dict1合并成一个dict3

1、将该字典按照ASCII码的值排序

In [312]: sorted(dict1.items())

Out[312]:

[('a', 97),

('b', 98),

('c', 99),

('d', 100),

('e', 101),

('f', 102),

('g', 103),

('h', 104),

('i', 105),

('j', 106),

('k', 107),

('l', 108),

('m', 109),

('n', 110),

('o', 96),

('p', 112),

('q', 113),

('r', 114),

('s', 115),

('t', 116),

('u', 117),

('v', 118),

('w', 119),

('x', 120),

('y', 121),

('z', 122)]

2、将该字典按照ASCII码的值排序

In [318]: dict1['o'] = 111

In [319]: dict1

Out[319]:

{'0': 111,

'a': 97,

'b': 98,

'c': 99,

'd': 100,

'e': 101,

'f': 102,

'g': 103,

'h': 104,

'i': 105,

'j': 106,

'k': 107,

'l': 108,

'm': 109,

'n': 110,

'o': 111, # 已修改

'p': 112,

'q': 113,

'r': 114,

's': 115,

't': 116,

'u': 117,

'v': 118,

'w': 119,

'x': 120,

'y': 121,

'z': 122}

3、用最简洁的代码,自己生成一个大写字母 A-Z 及其对应的ASCII码值的字典dict2(使用dict,zip,range方法)

In [383]: str_upper = [key for key in string.uppercase]

In [384]: str_upper

Out[384]:

['A',

'B',

'C',

'D',

'E',

'F',

'G',

'H',

'I',

'J',

'K',

'L',

'M',

'N',

'O',

'P',

'Q',

'R',

'S',

'T',

'U',

'V',

'W',

'X',

'Y',

'Z']

In [385]: str_ascii = [ord(str_upper[0]) + value for value in range(len(str_upper))]

In [386]: str_ascii

Out[386]:

[65,

66,

67,

68,

69,

70,

71,

72,

73,

74,

75,

76,

77,

78,

79,

80,

81,

82,

83,

84,

85,

86,

87,

88,

89,

90]

In [387]: dict(zip(str_upper, str_ascii))

Out[387]:

{'A': 65,

'B': 66,

'C': 67,

'D': 68,

'E': 69,

'F': 70,

'G': 71,

'H': 72,

'I': 73,

'J': 74,

'K': 75,

'L': 76,

'M': 77,

'N': 78,

'O': 79,

'P': 80,

'Q': 81,

'R': 82,

'S': 83,

'T': 84,

'U': 85,

'V': 86,

'W': 87,

'X': 88,

'Y': 89,

'Z': 90}

4、将dict2与第一题排序后的dict1合并成一个dict3

In [395]: dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105,

...: 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 111, 'n': 110, 'q': 113, 'p': 1 ...: 12, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z ...: ': 122}

In [396]: dict2.update(dict1)

In [397]: dict3 = dict2

In [398]: dict3

Out[398]:

{'A': 65,

'B': 66,

'C': 67,

'D': 68,

'E': 69,

'F': 70,

'G': 71,

'H': 72,

'I': 73,

'J': 74,

'K': 75,

'L': 76,

'M': 77,

'N': 78,

'O': 79,

'P': 80,

'Q': 81,

'R': 82,

'S': 83,

'T': 84,

'U': 85,

'V': 86,

'W': 87,

'X': 88,

'Y': 89,

'Z': 90,

'a': 97,

'b': 98,

'c': 99,

'd': 100,

'e': 101,

'f': 102,

'g': 103,

'h': 104,

'i': 105,

'j': 106,

'k': 107,

'l': 108,

'm': 109,

'n': 110,

'o': 111,

'p': 112,

'q': 113,

'r': 114,

's': 115,

't': 116,

'u': 117,

'v': 118,

'w': 119,

'x': 120,

'y': 121,

'z': 122}

2017-12-22 14:45 添加评论 评分

0jxcia

  1. 现有一个字典dict1 保存的是小写字母a-z对应的ASCII码

dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}

1) 将该字典按照ASCII码的值排序

sorted(dict1.items(),key=lambda x:x[1],reverse=False)

2) 有一个字母的ASCII错了,修改为正确的值,并重新排序

for k in dict1:

if dict1[k] != ord(k):

print k

dict1[k] = ord(k)

sorted(dict1.items(),key=lambda x:x[1],reverse=False)

  1. 用最简洁的代码,自己生成一个大写字母 A-Z 及其对应的ASCII码值的字典dict2(使用dict,zip,range方法)

import string

tuple1 = tuple(string.uppercase)

list1 = []

for i in tuple1:

list1.append(ord(i))

dict2 = dict(zip (tuple1,list1))

  1. 将dict2与第一题排序后的dict1合并成一个dict3

dict2.update(dict1)

dict3 = dict2

dict3 = dict(dict,**dict2)

转载于:https://blog.51cto.com/goldstar52/2136293

你可能感兴趣的文章
正则表达式学习
查看>>
微信红包接口集成流程
查看>>
FL2440字符设备驱动之LED
查看>>
使用Webpack + Gulp便捷开发运行于Dcloud平台HTML5 Plus Runtime引擎的HybridAPP项目的一些经验分享...
查看>>
前端进阶之 a 可以同时 == 1 && == 2 && == 3吗?
查看>>
告别抽象的JS执行环境、作用域、作用域链、闭包
查看>>
9012到了!AI时代里,只会简单编程的你会怎么样?
查看>>
1月10日云栖精选夜读:专访金榕:四年蜕变,阿里iDST是如何登上浪潮之巅的?...
查看>>
区块链100讲:梅克尔树保障区块链数据不可篡改,想换根就要砍树!
查看>>
如何使用jstack分析线程状态
查看>>
运营不需要人脉?
查看>>
全方位解读Java反射(reflection)
查看>>
Spring Cloud Config服务器
查看>>
fprobe使用
查看>>
yum 安装rabbitMQ
查看>>
跟我学《JavaScript高程3》视频教程,下载地址
查看>>
GLSL变量
查看>>
使用nginx—搭建YUM仓库
查看>>
测试人员必学的软件快速测试方法(二)
查看>>
linux下以RPM包安装Oracle 客户端
查看>>