{0: 0, 7: 0, 1: 1, 8: 1}
。enumerate 会迭代给定参数的每一项的索引及其值的元组,即 (0, seq[0]), (1, seq[1]), (2, seq[2]), ...
。所以 enumerate(range(2))
返回 [(0, 0), (1, 1)],由此得知代码的运行的时候是这样的:D[0] = 0
D[7] = 0
==========
D[1] = 1
D[8] = 1
b. 输出 3。D['1'] = 2
使 D 变为 {1: 1, 2: '2', '1': 2, '2': 3}
。接着 D[str(D[1])]
即为 D['1']
,也就是 2,然后原式变为 D[D[2]]
,即 D['2']
,也就是 3。D[1][2]
为 'B'
,所以 D[D[D[1][2]]]
为 'E'
;然后,D[1]["A"]
为 {1: "A"}
,所以 D[1]["A"][2]
会报错。{0: 1, 1: 1, 2: 1}
。对于每个 i 和 j 的组合,将 D[i]
的值设置为 j
。但是,在第二个循环中,j 的值总是 0 和 1,因此在第一次迭代后,D[i]的值将被覆盖为1。userLst1 = [(6, 'type'),
(7, 'example'),
(7, 'index'),
(7, 'program'),
(8, 'type'),
(10, 'example'),
(11, 'program'),
(20, 'set')]
# 将列表存储到字典中
pageNumbers = {}
for t in userLst1:
if t[1] not in pageNumbers:
pageNumbers[t[1]] = []
pageNumbers[t[1]].append(str(t[0]))
# 遍历字典并输出
for category, lst in pageNumbers.items():
print(category + ' ' + ', '.join(lst))
dict1 = {'f': 4, 'e': 5, 'c': 2, 'd': 2, 'b': 3, 'a': 1}
# 转字典为键-值对列表
tuple_list = list(dict1.items())
# 冒泡排序算法
for i in range(len(tuple_list)):
for j in range(len(tuple_list) - i - 1):
if tuple_list[j][1] < tuple_list[j + 1][1]:
tuple_list[j], tuple_list[j + 1] = tuple_list[j + 1], tuple_list[j]
# 转列表为字典
sorted_dict = dict(tuple_list)
print(sorted_dict)
words = list(map(lambda word: ''.join(filter(lambda char: char.isalpha(), word)).lower(), str1.split()))
# 存储词频
freq = {}
for word in words:
freq[word] = freq.get(word, 0) + 1
# 排序词频
freq = dict(sorted(freq.items(), key=lambda x: -x[1]))
# 输出词频
for k, v in freq.items():
print('\'' + k + '\':' + str(v))
def get_prime_numbers(n):
primes = list(range(2, n+1))
# 从 2 到根号 n 遍历
for i in range(2, int(n**0.5)+1):
# 删除 i 的倍数
if i in primes:
for j in range(i*i, n+1, i):
if j in primes:
primes.remove(j)
return primes
def validateTitle(title):
rstr = r"[\/\\\:\*\?\"\<\>\|\ ]" # '/ \ : * ? " < > | '
new_title = re.sub(rstr, " ", title)
new_title="".join(new_title.split())# 替换为下划线
return new_title
我可以回答第4段和第5段的问题,但是第1、2、3段涉及的问题需要更多的背景信息才能明确解答。
第4段问题:怎么用一个简单的表达式合并Python中的两个Dict?
答案:可以使用update()方法将两个字典合并。如下例:
dict1 = {'a':1, 'b':2}
dict2 = {'c':3, 'd':4}
dict1.update(dict2)
print(dict1) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
第5段问题:如何用Python实现一个实时翻译软件?
答案:以下是基本的实现思路,具体的实现可以在此基础上进行优化。
需要注意的一点是,由于Python中的线程没有提供杀死线程的方法,因此我们在实现newmain()函数时需要使用一个标识来结束函数,避免程序出现卡死的问题。
为什么你们都不贴代码,而是截图,哭...