Python-乘法表创建

问题描述

可以在不导入任何模块的情况下以某种方式缩短此代码吗?

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]))

解决方法

我不确定您创建的函数是否根据其名称实现了预期的功能,但这是使其更紧凑的简便解决方案。如果您只想将列表中的所有内容都乘以2,则可以对所有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]))

但是我们可以做得更好,您可以看到甚至还有一个内衬:

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
,
function downloadTxt(ele) {
            const name = ele.attr('data-name');
            $.ajax({
                url: urls[name],method:'GET',success: function(response,textStatus,request) {
                    $('#customLoader').remove();
                    const filename = request.getResponseHeader('Content-Disposition').split("filename=")[1]
                    const uri = 'data:text/txt;charset=utf-8,' + response;
                    const downloadLink = document.createElement("a");
                    downloadLink.href = uri;
                    downloadLink.download = filename;

                    document.body.appendChild(downloadLink);
                    downloadLink.click();
                    document.body.removeChild(downloadLink);
                }
            });
        }