百度的一道编程题,大家看看咋写的,最好是python编码

字符串转换前:
小红 /t 北大 
小张 /t 清华 
小王 /t 北大 小李 /t 邮电 小庞 /t 清华
转化后:
北大   小红 小王
清华   小张 小庞
邮电   小李
请各位老大们看看,这个咋写?

#笔试题目##百度#
全部评论
最后三个不是一行的话,直接split+dic t 否则感觉只能用正则
点赞 回复 分享
发布于 2019-10-04 20:18
用字典吧
点赞 回复 分享
发布于 2019-10-04 20:18
@路人癸000 @ざ多余德解ヤ释 各位老大们,看看我写的哈,感觉很多冗余,但是不知道怎么去修改。。。 """ 思路: 1、根据输入的字符串,以/t进行分割 2、分别存储到list中 3、遍历list,输出特定值 """ str_listvalue = list() while True:     str_dictvalue = dict()     # 1、根据输入的字符串,以/t进行分割,先以字典存放     str_value = input("请输入字符串,退出请输入q:\n").split("\t")     if str_value[0] == "q":         break     str_dictvalue[str_value[1]] = str_value[0]     # 2、分别存储到list中     str_listvalue.append(str_dictvalue)     print(str_listvalue)  # [{'北大': '小红'}, {'清华': '小兰'}, {'北大': '小王'}] """ 思路:3、遍历list,输出特定值 1、先将完整的list列表备份给变量保存 2、依次取出特定值,与list中剩余值进行比较 3、如果有相同值则输出 """ temp_str_listvalue = str_listvalue.copy() temp_dict = list() for i in range(0, len(temp_str_listvalue)):     flag = False     listvalue = temp_str_listvalue[0]     temp_str_listvalue.remove(listvalue)     for j in range(0, len(temp_str_listvalue)):         # 将list中为i的元素取出,比对list中的其他元素         if listvalue.keys() == temp_str_listvalue[j].keys():             flag = True             for key, value in listvalue.items():                 print(key, value, end=" ")                 temp_dict.append(listvalue.items())             for key, value in temp_str_listvalue[j].items():                 temp_dict.append(temp_str_listvalue[j].items())                 print(value)     if flag is False:         if listvalue.items() not in temp_dict:             for key, value in listvalue.items():                 print(key, value, end=" ")     if temp_str_listvalue is None:         break
点赞 回复 分享
发布于 2019-10-04 20:39

相关推荐

02-09 13:09
长安大学 Java
黑皮白袜臭脚体育生:简历条例统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写 可以看看我帖子简历写法
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务