For loop vs List Comprehension 给我 None 作为答案
For loop vs List Comprehension gives me None as answer
我想将单词附加到列表中。如果我进行 for 循环,返回的答案是正确的。
但是,如果我进行列表理解法,我会得到 None 的答案。我做错了什么?
x=[]
for i in range(0,10):
x.append('hi'+str(i))
print(x)
答案:['hi0', 'hi1', 'hi2', 'hi3', 'hi4', 'hi5', 'hi6', 'hi7', 'hi8', 'hi9']
x= [x.append('hi'+str(i)) for i in range(0,10)]
print(x)
答案:[None, None, None, None, None, None, None, None, None, None]
您不需要使用 append
,因为您在列表中,append
在所有情况下都可以 return None。
x= ['hi'+str(i) for i in range(0,10)]
print(x)
你的 x = [x.append('hi'+str(i)) for i in range(0,10)]
,用每个 x.append
调用的结果构建一个列表,这是 None,因为它是就地完成的,然后你擦除 x
那个新列表
你想要
x = [f"hi{i}" for i in range(10)]
我想将单词附加到列表中。如果我进行 for 循环,返回的答案是正确的。
但是,如果我进行列表理解法,我会得到 None 的答案。我做错了什么?
x=[]
for i in range(0,10):
x.append('hi'+str(i))
print(x)
答案:['hi0', 'hi1', 'hi2', 'hi3', 'hi4', 'hi5', 'hi6', 'hi7', 'hi8', 'hi9']
x= [x.append('hi'+str(i)) for i in range(0,10)]
print(x)
答案:[None, None, None, None, None, None, None, None, None, None]
您不需要使用 append
,因为您在列表中,append
在所有情况下都可以 return None。
x= ['hi'+str(i) for i in range(0,10)]
print(x)
你的 x = [x.append('hi'+str(i)) for i in range(0,10)]
,用每个 x.append
调用的结果构建一个列表,这是 None,因为它是就地完成的,然后你擦除 x
那个新列表
你想要
x = [f"hi{i}" for i in range(10)]