Python - 乘以 table 创建
Python - Multiply table creating
在不导入任何模块的情况下,这段代码是否可以更短一些?
def multiply_by2(li):
new_list = []
for i in li:
new_list.append(i*1)
new_list.append(i*2)
new_list.append(i*3)
new_list.append(i*4)
new_list.append(i*5)
new_list.append(i*6)
new_list.append(i*7)
new_list.append(i*8)
new_list.append(i*9)
new_list.append(i*10)
return new_list
print(multiply_by2([5]))
我不确定您创建的函数是否根据其名称实现了预期目的,但这是使它更紧凑的简单修复。如果您只是想将列表中的所有内容乘以二,您可以对所有 li[i] 和 *= 2 执行类似的循环。希望这能回答您的问题,但如果没有,请添加更多详细信息。
def multiply_by2(li):
new_list = []
for i in li:
for j in range(1,11):
new_list.append(i*j)
return new_list
你可以这样做:
def multiply_by2(li, length=10):
new_list = []
for i in li: for j in range(1,length + 1): new_list.append(i * j)
return new_list
print(multiply_by2([5]))
但是我们可以做得更好,你可以看到甚至还有一个one-liner:
def multiply_by2(li, length=10): return [i * j for i in li for j in range(1,length + 1)]
print(multiply_by2([5]))
这是一种方法
def multiply_by2(li,range_needed):
new_list = []
for i in range(1,range_needed+1):
new_list.append(li*i)
return new_list
print(multiply_by2(5,10))
我给你做了一个代码。
def multiply_by2(li):
new_list = [(j+1)*i for i in li for j in range(10)]
return new_list
def multiply_by2(li,range_needed):
return [li*i for i in range(1,range_needed+1)]
在不导入任何模块的情况下,这段代码是否可以更短一些?
def multiply_by2(li):
new_list = []
for i in li:
new_list.append(i*1)
new_list.append(i*2)
new_list.append(i*3)
new_list.append(i*4)
new_list.append(i*5)
new_list.append(i*6)
new_list.append(i*7)
new_list.append(i*8)
new_list.append(i*9)
new_list.append(i*10)
return new_list
print(multiply_by2([5]))
我不确定您创建的函数是否根据其名称实现了预期目的,但这是使它更紧凑的简单修复。如果您只是想将列表中的所有内容乘以二,您可以对所有 li[i] 和 *= 2 执行类似的循环。希望这能回答您的问题,但如果没有,请添加更多详细信息。
def multiply_by2(li):
new_list = []
for i in li:
for j in range(1,11):
new_list.append(i*j)
return new_list
你可以这样做:
def multiply_by2(li, length=10):
new_list = []
for i in li: for j in range(1,length + 1): new_list.append(i * j)
return new_list
print(multiply_by2([5]))
但是我们可以做得更好,你可以看到甚至还有一个one-liner:
def multiply_by2(li, length=10): return [i * j for i in li for j in range(1,length + 1)]
print(multiply_by2([5]))
这是一种方法
def multiply_by2(li,range_needed):
new_list = []
for i in range(1,range_needed+1):
new_list.append(li*i)
return new_list
print(multiply_by2(5,10))
我给你做了一个代码。
def multiply_by2(li):
new_list = [(j+1)*i for i in li for j in range(10)]
return new_list
def multiply_by2(li,range_needed):
return [li*i for i in range(1,range_needed+1)]