如何使用适当的python语法回答这个问题循环问题:
def int_all_2(str_list):
'''(list of str) -> NoneType
Replace every str element of str_list with its corresponding
int version.
For example,
>>> sl = ['100', '222', '2', '34']
>>> int_all_2(sl)
>>> sl
[100, 222, 2, 34]
'''
会是这样的吗?
l = []
for x in str_list:
l.append (int_all_2(x))
return l
答案 0 :(得分:1)
如果您想将列表中的每个元素转换为整数然后返回一个新列表,您可以使用 map 函数:
def strs2ints(l):
return map(int,l)
您还应该注意,函数strs2ints 不会更改数组l的内容。
如果你想改变我不推荐的原始数组l的内容(你应该更喜欢使用" clean"函数与带副作用的函数),你可以尝试以下代码:
def strs2ints(l):
for i in range(len(l)):
l[i] = int(l[i])
答案 1 :(得分:0)
假设你的列表只包含数字整数的字符串表示,你甚至不需要一个函数,只需要列表理解:
l = [int(itm) for itm in str_list]
如果你想忽略可能的字符串:
l = [int(itm) for itm in str_list if not itm.isalpha]
或者,如果你需要一个函数:
def int_all(str_list):
return [int(itm) for itm in str_list]