笔记-字典

1.字典

operator_dict={'<':'less than','==':'equal'}

print('Here is the original dict:')

for x in sorted(operator_dict): #这样会返回一个list 只包括字典的目录而没有内容

print(f'Operator {x} means {operator_dict[x]}.') # 注意format 函数的使用

print(" ")

operator_dict['>']='greater than'

print("The dict was changed to:")

for x in sorted(operator_dict):

print(f'Operator {x} means {operator_dict[x]}.')

2.result_dict.keys() 返回的是一个字典的键

3.my_dict_1 = {'name':'Niuniu','Student ID':1}

my_dict_2 = {'name':'Niumei','Student ID':2}

my_dict_3 = {'name':'Niu Ke Le','Student ID':3}

dict_list = []

dict_list.append(my_dict_1)

dict_list.append(my_dict_2)4

dict_list.append(my_dict_3)

这个最后的my_dict_3,包括三个字典的list

4.

cities_dict = {'Beijing': {'capital': 'China'},'Moscow': {'capital': 'Russia'},'Paris': {'capital': 'France'}}

cities_dict1 =sorted(cities_dict) #这里返回的是一个只包含字典的键值的列表,sorted是对键排序并返回键。

for i in cities_dict1:

print(f"{i} is the capital of {cities_dict[i]['capital']}!")

通过i去取citie_dict里面的具体的字典,再进一步取值。

5.sorted 函数的具体用法,对于字典

result_dict = {

'Allen': ['red', 'blue', 'yellow'],

'Tom': ['green', 'white', 'blue'],

'Andy': ['black', 'pink']

}

for m, n in sorted(result_dict.items()):

print("%s's favorite colors are:" % m)

for o in n:

print(o)

#print(type(sorted(result_dict.items())))

#这个会变成一个二维的列表,三个小列表,每个小列表中有一个单独的一个元素是表示键,另外一个元素是字典的value所组成的一个元素。

6.生成字典

zip()将可迭代对象封装成元素对应的元组形式,使用dict转换成字典格式。

name = input().split()

language = input().split()

print(dict(zip(name,language)))

7.查字典

dic1={'a': ['apple', 'abandon', 'ant'], 'b': ['banana', 'bee', 'become'], 'c': ['cat', 'come'], 'd': 'down'}

x=input()

for i in dic1[x]:

print(i,end=' ') #这样确保结果是在同一行,而没有换行。

8.新增字典项目

my_dict = {'a': ['apple', 'abandon', 'ant'],

'b': ['banana', 'bee', 'become'],

'c': ['cat', 'come'],

'd': 'down'}

new_key = input()

new_valu = input()

keys = my_dict.keys()#提取字典的键值

if new_key in keys:

my_dict[new_key].append(new_valu)

else:

my_dict[new_key] = new_valu

print(my_dict)

正常添加新值的方法

student = {

"name": "Alice",

"age": 20

}

# 添加新的键值对

student["gender"] = "female"

student["grade"] = "A"

print(student)

9.输入一段字符串,统计各个字母出现的频次

#方法一

# ls1 = list(input())

# ls2 = [ls1.count(i) for i in ls1]

# print(dict(zip(ls1,ls2)))

#方法二

# from collections import Counter

# ls1 = input()

# print(dict(Counter(ls1)))

全部评论

相关推荐

05-08 17:04
已编辑
浙江大学 算法工程师
面试问题:-&nbsp;(针对简历提问)你工作里主要关注哪些指标?解释一下AUC含义、计算和作用-&nbsp;主流的开源大模型结构有哪些?(prefix&nbsp;decoder,casual&nbsp;decoder、encoder-decoder)-&nbsp;介绍一下layernorm和batchnorm的区别?-&nbsp;在机器学习里,怎么处理长尾数据和多峰数据?-&nbsp;怎么解决模型的冷启动问题,你觉得LLM在冷启动方面能够起到什么作用?-&nbsp;介绍一下常见的优化算法(SGD&nbsp;-&gt;Adagrad&nbsp;-&gt;RMSProp&nbsp;-&gt;Adam&nbsp;-&gt;&nbsp;AdamW)?优缺点-&nbsp;为什么Adam不一定最优而SGD最优的?怎么理解分析?-&nbsp;(针对简历提问)你工作里的对比损失是怎么构造的,有什么作用?介绍常见的对比损失的公式。代码题:-&nbsp;数组第K大。给定整数数组&nbsp;nums&nbsp;和整数&nbsp;k,请返回数组中第&nbsp;k&nbsp;个最大的元素。(力扣215原题)-&nbsp;手写对比损失的计算(结合项目),并简单说了一下原理。(大概写出来就好)二面我这个是交叉面,提问的有部分设计大模型,也当然我简历上有大模型,所以问了一些llm+搜推的内容,但这部分交叉问题比较浅,能说个大概就很好,同时也有很多经典的机器学习面经问题。因为项目里提到了对标学习,所以面试官在代码考核部分让我写个示例,所以写进简历的一定要准备好(包括流程步骤,代码实现大概要清楚)。面广告算法的岗位,机器学习面经暴率很高,建议熟背,就算是看过有印象,问到的时候也会基本很稳。
点赞 评论 收藏
分享
1️⃣一面时间:9.12&nbsp;&nbsp;时长:1hcode:统计岛屿数量、最大岛屿面积,DFS方法解了然后介绍实习项目,面试官非常耐心地听,没有打断八股1.bert和gpt的区别?(从模型架构、训练方式、使用场景方面回答的)2.训练/微调一个LLM的流程?3.实习时用的&nbsp;megatron&nbsp;框架吗,对分布式训练框架了解多少?(回答了deepspeed和megatron区别,以及几种并行方式,以及deepspeed的三种zero)4.了解强化学习吗,跟SFT有什么区别?5.反问:业务,对岗位的期望💣评价:有点紧张,算法题有一个小失误没注意到2️⃣二面时间:9.14&nbsp;&nbsp;时长:1h八股1.写一下&nbsp;attention&nbsp;公式(代码实现了下)2.训练时为什么要mask,推理时也需要吗?两处有什么区别?推理时的sequence&nbsp;length和训练时一样吗3.transformer和传统seq2seq模型有什么区别?4.计算attention时为什么要除以d_k,这个d_k的含义是?5.attention计算时还有哪些scale处理?6.attention中softmax函数作用、公式、为什么有减去最大值的处理?换个函数还能这样处理吗?7.解释数值上溢、下溢问题8.讲一下prompt书写的经验,如何判断prompt是否达标,如何改进prompt9.讲一下SFT,会对哪部分计算loss?为什么?10.讲一下deepspeed11.训练用一个7b模型要占用多少显存?不同zero阶段能够节省多少显存?12.训练模型时用了几张卡,有遇到什么异常中断问题吗?反问:&nbsp;在乎候选人什么能力?对面试表现有哪些改进意见?💣评价:&nbsp;基础不够扎实,网上有的知识都能回答上来,在同龄人里算比较优秀,欠缺一些多机多卡实践经验。&nbsp;&nbsp;
查看17道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务