微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用字典列表中的另一个元素替换列表中的每个元素

如何解决用字典列表中的另一个元素替换列表中的每个元素

简而言之,我需要做的是为列表中的每个元素从字典列表中获取相应的值并替换它 例如...对于以下输入列表

list1 = ['gui','guigui','guiguigguuii']
list2 = ['gui','gui','gui']

我应该在那些字典列表中查找

dictlist1 = [{'gui': 'ya'},{'guigui': 'lyub'},{'guiguigguuii': 'htr'}]
dictlist2 = [{'gui': 'asdf'}]

它应该输出

output1 = ['ya','lyub','htr']
output2 = ['asdf','asdf','asdf']

我写了一个代码...但是它不适用于第二个数据样本

print(' '.join([item for sublist in [[value for key,value in d.items()] for d in lista] for item in sublist]))

解决方法

在这里,抱歉,如果它有点长,但是,我认为使用这个模板你可以想出一些办法。

list1 = ['gui','guigui','guiguigguuii']
replace = [{'gui': 'ya'},{'guigui': 'lyub'},{'guiguigguuii': 'htr'}]
newList = []
#iterate through list1
for words in list1:
    count = 0
    #iterate through replaces dicts
    for dicts in replace:
        #Check if any word in list1 can be replaced
        if words == list(dicts.keys())[0]:newList.append(dicts[list(dicts.keys())[0]])
        count += 1
print(newList)

输出

['ya','lyub','htr']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?