例如,我如何定义一个函数,以便列表中的每个奇数整数都替换为字符串' odd'?感谢
list = [10 , 11, 12, 13, 14, 15, 16,]
预期结果
[10, 'odd', 12, 'odd', 14, 'odd', 16]
答案 0 :(得分:1)
我觉得你应该自己解决这个问题,但无论如何......
result = []
for i in list:
if i % 2 != 0:
result.append('odd')
else:
result.append(i)
或者,也许是推动你前进的事情:
def turn_odd(i):
if i % 2 != 0:
return 'odd'
else:
return i
list = [10 , 11, 12, 13, 14, 15, 16,]
result = map(lambda x: turn_odd(x), list)
答案 1 :(得分:1)
单行解决方案可以是:
print [(i,'odd')[i%2] for i in list]
答案 2 :(得分:0)
for i in range(len (list)):
if (list[i] % 2 != 0):
list[i] = "odd"
答案 3 :(得分:0)
您可以使用列表理解:
list = [10 , 11, 12, 13, 14, 15, 16]
new_list = [i if i % 2 == 0 else "odd" for i in list]
以下是一个很好的例子:if/else in Python's list comprehension?
答案 4 :(得分:0)
首先请注意,list
是为Python中的类型列表保留的,因此我将改为使用my_list
。那么你有三个选择:
带条件的循环
for i in range(0, len(my_list)):
if (i % 2 != 0):
my_list[i] = "odd"
列表理解(与上述逻辑相同)
my_list = ["odd" if i % 2 != 0 else my_list[i] for i in range(len(my_list))]
没有条件的循环
for i in range(1, len(my_list), 2):
my_list[i] = "odd"