相关疑难解决方法(0)

生成器表达式与列表理解

什么时候应该使用生成器表达式?什么时候应该在Python中使用列表推导?

# Generator expression
(x*2 for x in range(256))

# List comprehension
[x*2 for x in range(256)]
Run Code Online (Sandbox Code Playgroud)

python list-comprehension generator

390
推荐指数
7
解决办法
13万
查看次数

如何从列表中提取参数并将它们传递给函数调用

从列表中提取项目并将它们作为参数传递给函数调用的简单方法是什么,如下例所示?

例:

def add(a,b,c,d,e):
    print(a,b,c,d,e)

x=(1,2,3,4,5)

add(magic_function(x))
Run Code Online (Sandbox Code Playgroud)

python list argument-unpacking

42
推荐指数
3
解决办法
3万
查看次数

如何格式化列表以在python中的单独行上打印每个元素?

如何格式化列表以在单独的行上打印每个元素?例如,我有:

mylist = ['10', '12', '14']
Run Code Online (Sandbox Code Playgroud)

我希望格式化列表,使其打印如下:

10
12
14
Run Code Online (Sandbox Code Playgroud)

所以\n,括号,逗号和''被删除,每个元素都打印在一个单独的行上谢谢

python format list line

22
推荐指数
3
解决办法
11万
查看次数

是否有一行代码可以在矩阵中找到最大值?

要在数字矩阵中找到最大值,我们可以编码5行来解决问题:

ans = matrix[0][0]
for x in range(len(matrix)):
    for y in range(len(matrix[0])):
        ans = max(ans, matrix[x][y])
return ans
Run Code Online (Sandbox Code Playgroud)

这个问题有一个单行解决方案吗?我提出的那个实际上非常尴尬:

return max(max(matrix, key=max))
Run Code Online (Sandbox Code Playgroud)

要么

return max(map(max, matrix))
Run Code Online (Sandbox Code Playgroud)

python for-loop max

12
推荐指数
4
解决办法
2318
查看次数

使用连接函数列出vs生成器理解速度

所以我从官方文档中得到了这些例子. https://docs.python.org/2/library/timeit.html

究竟是什么让第一个例子(生成器表达式)比第二个(列表理解)慢?

>>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
0.8187260627746582
>>> timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000)
0.7288308143615723
Run Code Online (Sandbox Code Playgroud)

python list-comprehension python-2.7

10
推荐指数
1
解决办法
755
查看次数

我试图在打印时向列表中添加新行,但无法使其工作

我一直试图像在正常语句中添加新行一样这样做,但如果我这样做,它就不起作用。

cars = ["audi", "bmw", "toyota"]
print(\ncars)
Run Code Online (Sandbox Code Playgroud)

它显示此错误:

SyntaxError: unexpected character after line continuation character
Run Code Online (Sandbox Code Playgroud)

如何向打印列表中添加新行?顺便说一句,我是 python 和一般编程的初学者。

python newline list

1
推荐指数
1
解决办法
95
查看次数

将字符串列表转换成字符串,每个值都换行

因此,我有一个项目,其中有一个字符串列表:

outputs = ['cow', 'chicken', 'pig']
Run Code Online (Sandbox Code Playgroud)

我需要将它们转换为字符串,每个值都由换行符分隔,如下所示:

cow
chicken
pig
Run Code Online (Sandbox Code Playgroud)

我在python列表中找到了以换行符分隔值的解决方案,但它使用的是这样的列表:

outputs = [['cow'], ['chicken'], ['pig']]
Run Code Online (Sandbox Code Playgroud)

每当我跑步时:

 answer = "\n".join(map(lambda x: x[0], outputs))
 print(answer)
Run Code Online (Sandbox Code Playgroud)

它返回'c',与该问题中的所有其他答案一样。

python

-1
推荐指数
1
解决办法
118
查看次数