例如,我可以使用枚举等方法简化此代码吗?
list1 = ('c_test1', 'c_test2', 'test3', 'c_test4', 'test5', 'test6', 'c_test7')
tuple1 = ['list1', 'list2', 'list3', 'list4']
i = 0
for x in list(list1):
if "c" in str(x):
print(tuple1[i])
i+=1
答案 0 :(得分:1)
您可以使用过滤器和列表理解组合。
list1 = ('c_test1', 'c_test2', 'test3', 'c_test4',
'test5', 'test6', 'c_test7')
tuple1 = ['list1', 'list2', 'list3', 'list4']
print [tuple1[i] for i,v in enumerate(filter(lambda x: "c" in str(x), list1))]
<强>输出强>
[&#39; list1&#39;,&#39; list2&#39;,&#39; list3&#39;,&#39; list4&#39;]