@ざ多余德解ヤ释
各位老大们,看看我写的哈,感觉很多冗余,但是不知道怎么去修改。。。
"""
思路:
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