staff_text=['31','32']
staffing_title = ['14','28','14','20']
我有两个像上面那样的数组。我希望输出像
staffing_title = ['31','28','32','20']
所以基本上只要14在staffing_title数组中,它就会替换为staff_text值。
例如,如果第一个14替换为31,当第二个14替换为32时依此类推
答案 0 :(得分:1)
以下是使用列表理解的一个班轮:
>>> staffing_title = ['14', '28', '14', '20']
>>> staff_text=['31','32']
>>> res = [staff_text.pop(0) if item == str(14) else item for item in staffing_title ]
>>> print(res)
['31', '28', '32', '20']
答案 1 :(得分:0)
以下将会这样做:
>>> [t if t != '14' else staff_text.pop() for t in staffing_title]
['32', '28', '31', '20']
请注意,这会修改staff_text
,因此您可能希望将其设置为副本。
此代码假设staff_text
中的元素至少与'14'
中的staffing_title
字符串一样多(但之后您不会指定在那里会发生什么) AREN'。T)