input=[1,4,6,"j",5,"h","t"]将该列表中的元素乘以2输出=[4,10,14,"j",12,"h","t"]如何在python中获取该输出??
我建议使用isinstance
,如@Olvin Rocht所示,或type()
。
new = [num*2+2 if type(num) == int else num for num in inp]
输出
[4, 10, 14, 'j', 12, 'h', 't']
input = [1,4,6,"j",5,"h","t"]
output = []
for idx, item in enumerate(input):
if type(item) is int:
item *= 2
item += 2
output.append(item)
我意识到这比其他答案要多得多的代码,但我想知道它是否也效率较低。。。因为在python中的[]中嵌入一些东西也可以被视为for循环,对吧?