如何解决有什么方法可以仅使用指定的元素来更新列表列表?
有什么方法可以仅使用指定的元素来更新列表的列表(在这种情况下为4)? 例如:
list1 = [['a','b','c'],['a','a','c']]
list2 = [['b',['b','a']]
list3 = [['c','c','a'],'b']]
list4 = [['c','b']]
如果我想用字符串'b'更新 list1 ,它应该输出:
[[[b,b,b,c],[b,a,b,b]]
因此,从列表1内的 第一个列表 中,第一个元素'a'被替换为'b ',因为其他列表包含字符串'b'(在本例中为list2)。但是,最后一个元素'c'并未更新,因为没有列表包含字符串'b'。
我尝试了嵌套多个for循环,但是效率极低。
for list in list1:
for i in list:
if i != 'b':
for list in list2:
for j in list:
if j == b:
i = 'b'
我要存档的是:如果其他列表中有“ b”,请将list1中的元素更新为“ b”
解决方法
您可以使用enumerate
遍历数组,查看是否有其他列表包含指定的元素(在您的情况下为'b'
),并更新其中的任何元素。
for v,a in enumerate(list1):
for v1,b in enumerate(a):
if 'b' in [i[v][v1] for i in [list2,list3,list4]]:
list1[v][v1] = 'b'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。