我有两份清单如下:
List1 = ["Steel", "ReinfSteel", "Concrete", "Wood", "Aluminium"]
List2 = ["CONCDC", "CONCR", "SOLROC", "REINFO", "STEEDC", "MCSTEL", "COMPOS", "INTERF", "MASSEL", "SPRING", "FLUSTR", "COMSRF"]
我想将List1
中的数据与List2
中的数据进行匹配,如下所示:
我必须用python编写一段代码,如下所述:
如果List1
由STEEL
组成,则将其替换为List2
中的MCSTEL
,并在新变量中返回新替换的(即MCSTEL
)
我是Python的新手,还在学习,所以如果这个问题太基本,请原谅
所以我尝试将JSON文件中的数据从一个软件导入到另一个软件的Python脚本中。数据相似,但语法不同,因此我必须将数据从JSON代码映射到Python。我已经使用了下面的代码来尝试对单个材料执行此操作,但我需要一个有助于涵盖清单2中给出的所有材料的代码:
KMaterial = []
for materialfamily in data['Model']['elems']:
KMaterial.append( materialfamily['grass_element_']['crosec_']['material_' ['family_'] )
print(KMaterial)
DMaterial = ["CONCDC", "CONCR", "SOLROC", "REINFO", "STEEDC", "MCSTEL", "COMPOS", "INTERF", "MASSEL", "SPRING", "FLUSTR", "COMSRF"]
d = {"Steel": "MCSTEL", "ReinfSteel": "REINFO", "Concrete": ""}
new_list = [d[i] if i in d else i for i in KMaterial]
print(new_list)
提前谢谢
因为您是Python新手,所以我不想把答案复杂化
为了让您开始了解一些基本知识,这里有一种方法来了解解决方案
您可以使用if语句检查所需的每个值。然后用新值替换该值
如果要替换多个项,则可以有多个If语句
如果您熟悉字典,您可以使用字典来遍历列表
首先,您需要定义字典。然后遍历列表,用dictionary中的值替换与dictionary中的键匹配的每个元素
如果您理解python中的列表理解,那么您可以在一条语句中编写上述循环,如下所示:
以下任一代码将替换:
到
您可以为要交换的内容创建
dict
个键、值对,然后使用列表理解创建新列表。下面是一个只有钢的例子如果您想包含其他内容,例如“Concrete”和“CONCR”,您可以在字典中包含键、值对
"Concrete": "CONCR"
相关问题 更多 >
编程相关推荐