<p>因为您是Python新手,所以我不想把答案复杂化</p>
<p>为了让您开始了解一些基本知识,这里有一种方法来了解解决方案</p>
<p>您可以使用if语句检查所需的每个值。然后用新值替换该值</p>
<pre><code>#you want to iterate through list1 and for each value in list1,
#you want to check if it meets your criteria
#since you need the index and value, use enumerate
for i,val in enumerate(list1):
#if value is 'steel' you want to replace with 'MCSTEL'
if list1[i].lower() == 'steel':
list1[i] = 'MCSTEL'
print (list1)
</code></pre>
<p>如果要替换多个项,则可以有多个If语句</p>
<pre><code>#you want to iterate through list1 and for each value in list1,
#you want to check if it meets your criteria
#since you need the index and value, use enumerate
for i,val in enumerate(list1):
#if value is 'Steel' you want to replace with 'MCSTEL'
if val.lower() == 'steel':
list1[i] = 'MCSTEL'
#if value is 'ReinfSteel' you want to replace with 'REINFO'
if val.lower() == 'reinfsteel':
list1[i] = 'REINFO'
</code></pre>
<p>如果您熟悉字典,您可以使用字典来遍历列表</p>
<p>首先,您需要定义字典。然后遍历列表,用dictionary中的值替换与dictionary中的键匹配的每个元素</p>
<pre><code>#define your dictionary with key value pairs
#key is the value you want to search in list1
#value is the new value you want to store
d = {'steel':'MCSTEL','reinfsteel':'REINFO'}
#you want to iterate through list1 and for each value in list1,
#you want to check if it meets your criteria
#since you need the index and value, use enumerate
for i,val in enumerate(list1):
#check against the keys in the dictionary
if val.lower() in d.keys():
list1[i] = d[val.lower()]
</code></pre>
<p>如果您理解python中的列表理解,那么您可以在一条语句中编写上述循环,如下所示:</p>
<pre><code>list2 = [d[x.lower()] if x.lower() in d.keys() else x for x in list1]
</code></pre>
<p>以下任一代码将替换:</p>
<pre><code>['Steel', 'ReinfSteel', 'Concrete', 'Wood', 'Aluminium']
</code></pre>
<p>到</p>
<pre><code>['MCSTEL', 'REINFO', 'Concrete', 'Wood', 'Aluminium']
</code></pre>