我有跟随元组,我想迭代第一个值(比如从元组下面说0101AA)&将inputtring替换为包含2nd&的值。第3个(比如MTS,DL),以防它与输入字符串匹配。
mastertup = ('0101AA,MTS,DL', '03F0,MTS,DL', 'YG,MTS,GJ', 'YK,MTS,KO', 'YL,MTS,KL', '98765,MTS,RJ', '9234,MTS,TN', '919136,MTS,WB', 'YW,MTS,UPW', 'YX,MTS,KT')
inputstring='0101AA'
我正在测试的代码将行作为完整的元组1(比如'0101AA,MTS,DL')&如何以有效的方式检查输入字符串中第1列,第2列,第1列等等...&真的很困惑该怎么做才能打破这条线和然后匹配它。
for counter,line in enumerate(mastertup):
print line
答案 0 :(得分:2)
在您的情况下,mastertup
是一个字符串列表,将其转换为元组列表,
lists = [tuple(s.split(',')) for s in mastertup]
print(lists)
# Output
[('0101AA', 'MTS', 'DL'), ('03F0', 'MTS', 'DL'), ('YG', 'MTS', 'GJ'), ('YK', 'MTS', 'KO'), ('YL', 'MTS', 'KL'), ('98765', 'MTS', 'RJ'), ('9234', 'MTS', 'TN'), ('919136', 'MTS', 'WB'), ('YW', 'MTS', 'UPW'), ('YX', 'MTS', 'KT')]
如果我理解得很清楚,您希望从col1
映射到col2,col2
。使用dict
快速查找,
d = dict()
for s in mastertup:
str_list = s.split(',')
d[str_list[0]] = ','.join(str_list[1:])
# Test
inputstring = '0101AA'
inputstring = d.get(inputstring, inputstring) # if inputstring not in d, not mapping
print(inputstring)
# Output
MTS,DL