|
10 | 10 |
|
11 | 11 | 5. 阐述列表和集合的底层实现原理。
|
12 | 12 |
|
13 |
| -6. 现有字典`d = {'a': 24, 'g': 52, 'i': 12, 'k': 33}`,如何按字典中的值对字典进行排序。 |
| 13 | +6. 现有字典`d = {'a': 24, 'g': 52, 'i': 12, 'k': 33}`,如何按字典中的值对字典进行排序得到排序后的字典。 |
| 14 | + |
| 15 | + 答: |
| 16 | + |
| 17 | + ```Python |
| 18 | + |
| 19 | + ``` |
14 | 20 |
|
15 | 21 | 7. 实现将字符串`k1:v1|k2:v2|k3:v3`处理成字典`{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}`。
|
16 | 22 |
|
| 23 | + 答: |
| 24 | + |
| 25 | + ```Python |
| 26 | + {key: value for key, value in ( |
| 27 | + item.split(':') for item in 'k1:v1|k2:v2|k3:v3'.split('|') |
| 28 | + )} |
| 29 | + ``` |
| 30 | + |
17 | 31 | 8. 写出生成从`m`到`n`公差为`k`的等差数列的生成器。
|
18 | 32 |
|
| 33 | + 答: |
| 34 | + |
| 35 | + ```Python |
| 36 | + (value for value in range(m, n + 1, k)) |
| 37 | + ``` |
| 38 | + |
| 39 | + 或 |
| 40 | + |
| 41 | + ```Python |
| 42 | + def generate(m, n, k): |
| 43 | + for value in range(m, n + 1, k): |
| 44 | + yield value |
| 45 | + ``` |
| 46 | + |
| 47 | + 或 |
| 48 | + |
| 49 | + ```Python |
| 50 | + def generate(m, n, k): |
| 51 | + yield from range(m, n + 1, k) |
| 52 | + ``` |
| 53 | + |
19 | 54 | 9. 请写出你能想到的反转一个字符串的方式。
|
20 | 55 |
|
21 |
| -10. 不使用任何内置函数,将字符串`'123'`转换成整数`123`。 |
| 56 | + 答: |
| 57 | + |
| 58 | + ```Python |
| 59 | + ''.join(reversed('hello')) |
| 60 | + ``` |
| 61 | + |
| 62 | + 或 |
| 63 | + |
| 64 | + ```Python |
| 65 | + 'hello'[::-1] |
| 66 | + ``` |
| 67 | + |
| 68 | + 或 |
| 69 | + |
| 70 | + ```Python |
| 71 | + def reverse(content): |
| 72 | + return ''.join(content[i] for i in range(len(content) - 1, -1, -1)) |
| 73 | + |
| 74 | + reverse('hello') |
| 75 | + ``` |
| 76 | + |
| 77 | + 或 |
22 | 78 |
|
23 | 79 | ```Python
|
24 |
| - nums = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} |
25 |
| - total = 0 |
26 |
| - for ch in '123': |
27 |
| - total *= 10 |
28 |
| - total += nums[ch] |
29 |
| - print(total) |
| 80 | + def reverse(content): |
| 81 | + return reverse(content[1:]) + content[0] if len(content) > 1 else content |
| 82 | + |
| 83 | + reverse('hello') |
30 | 84 | ```
|
31 | 85 |
|
| 86 | +10. 不使用任何内置函数,将字符串`'123'`转换成整数`123`。 |
| 87 | + |
| 88 | + 答: |
| 89 | + |
| 90 | + ```Python |
| 91 | + nums = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} |
| 92 | + total = 0 |
| 93 | + for ch in '123': |
| 94 | + total *= 10 |
| 95 | + total += nums[ch] |
| 96 | + print(total) |
| 97 | + ``` |
| 98 | + |
32 | 99 | 11. 写一个返回bool值的函数,判断给定的非负整数是不是回文数。
|
33 | 100 |
|
34 | 101 | 12. 用一行代码实现求任意非负整数的阶乘。
|
35 | 102 |
|
| 103 | + 答: |
| 104 | + |
| 105 | + ```Python |
| 106 | + from functools import reduce |
| 107 | + |
| 108 | + (lambda num: reduce(int.__mul__, range(2, num + 1), 1))(5) |
| 109 | + ``` |
| 110 | + |
36 | 111 | 13. 写一个函数返回传入的整数列表中第二大的元素。
|
37 | 112 |
|
| 113 | + 答: |
| 114 | + |
| 115 | + ```Python |
| 116 | + |
| 117 | + ``` |
| 118 | + |
38 | 119 | 14. 删除列表中的重复元素并保留原有的顺序。
|
39 | 120 |
|
40 | 121 | 15. 找出两个列表中的相同元素和不同元素。
|
|
110 | 191 |
|
111 | 192 | 26. 请写出从HTML页面源代码中获取a标签href属性的正则表达式。
|
112 | 193 |
|
| 194 | + 答: |
| 195 | + |
| 196 | + ```Python |
| 197 | + |
| 198 | + ``` |
| 199 | + |
113 | 200 | 27. 正则表达式对象的`search`和`match`方法有什么区别?
|
114 | 201 |
|
115 | 202 | 28. 当做个线程竞争一个对象且该对象并非线程安全的时候应该怎么办?
|
|
0 commit comments