相关疑难解决方法(0)

如何从列表列表中制作一个平面列表?

我想知道是否有一条快捷方式可以在Python列表中列出一个简单的列表.

我可以在for循环中做到这一点,但也许有一些很酷的"单行"?我用reduce尝试了,但是我收到了一个错误.

l = [[1, 2, 3], [4, 5, 6], [7], [8, 9]]
reduce(lambda x, y: x.extend(y), l)
Run Code Online (Sandbox Code Playgroud)

错误信息

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <lambda>
AttributeError: 'NoneType' object has no attribute 'extend'
Run Code Online (Sandbox Code Playgroud)

python list flatten multidimensional-array

2950
推荐指数
29
解决办法
184万
查看次数

如何在保留订单的同时从列表中删除重复项?

是否有内置功能可以从Python中的列表中删除重复项,同时保留顺序?我知道我可以使用一个集来删除重复项,但这会破坏原始顺序.我也知道我可以像这样滚动自己:

def uniq(input):
  output = []
  for x in input:
    if x not in output:
      output.append(x)
  return output
Run Code Online (Sandbox Code Playgroud)

(感谢您放松代码示例.)

但是如果可能的话,我想利用内置或更多的Pythonic习语.

相关问题:在Python中,从列表中删除重复项的最快算法是什么,以便所有元素在保留顺序的同时是唯一的?

python list unique duplicates

722
推荐指数
12
解决办法
52万
查看次数

每隔第n个字符拆分字符串?

是否有可能每隔第n个字符拆分一个python字符串?

例如,假设我有一个包含以下内容的字符串:

'1234567890'
Run Code Online (Sandbox Code Playgroud)

我怎么能让它看起来像这样:

['12','34','56','78','90']
Run Code Online (Sandbox Code Playgroud)

python string split

342
推荐指数
14
解决办法
30万
查看次数

忽略python多个返回值

假设我有一个Python函数,它在元组中返回多个值:

def func():
    return 1, 2
Run Code Online (Sandbox Code Playgroud)

是否有一种很好的方法可以忽略其中一个结果,而不仅仅是分配给一个临时变量?如果我只对第一个值感兴趣,是否有比这更好的方法:

x, temp = func()
Run Code Online (Sandbox Code Playgroud)

python tuples function

253
推荐指数
10
解决办法
16万
查看次数

使用boto3列出存储桶的内容

如何查看S3中的存储桶内部有boto3什么?(即做一个"ls")?

执行以下操作:

import boto3
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('some/path/')
Run Code Online (Sandbox Code Playgroud)

收益:

s3.Bucket(name='some/path/')
Run Code Online (Sandbox Code Playgroud)

我怎么看其内容?

python amazon-s3 boto boto3

146
推荐指数
14
解决办法
20万
查看次数

在交互式Python shell中获取最后的结果

在许多符号数学系统中,例如Matlab或Mathematica,您可以使用类似的变量Ans%检索最后计算的值.Python shell中是否有类似的工具?

python

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

一次性写“ if”的最优雅方式

由于C ++ 17可以编写一个if块,因此将完全执行一次,如下所示:

#include <iostream>
int main() {
    for (unsigned i = 0; i < 10; ++i) {

        if (static bool do_once = true; do_once) { // Enter only once
            std::cout << "hello one-shot" << std::endl;
            // Possibly much more code
            do_once = false;
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可能对此有过多的思考,还有其他方法可以解决此问题,但是仍然-是否可以以这种方式编写此文本,因此do_once = false最后不需要?

if (DO_ONCE) {
    // Do stuff
}
Run Code Online (Sandbox Code Playgroud)

我在考虑一个辅助函数,do_once()其中包含static bool do_once,但是如果我想在不同的地方使用相同的函数呢?可能这是时间和地点#define吗?我希望不是。

c++ if-statement c++17

134
推荐指数
8
解决办法
2万
查看次数

如何检查列表中是否包含以下所有项目?

我发现,有一个相关的问题,关于如何查找列表中是否存在至少一个项目:
如何检查下列项目之一是否在列表中?

但是,查找列表中是否存在所有项目的最佳和pythonic方法是什么?

通过文档搜索,我找到了这个解决方案:

>>> l = ['a', 'b', 'c']
>>> set(['a', 'b']) <= set(l)
True
>>> set(['a', 'x']) <= set(l)
False
Run Code Online (Sandbox Code Playgroud)

其他解决方案是:

>>> l = ['a', 'b', 'c']
>>> all(x in l for x in ['a', 'b'])
True
>>> all(x in l for x in ['a', 'x'])
False
Run Code Online (Sandbox Code Playgroud)

但在这里你必须做更多的打字.

还有其他解决方案吗?

python list inclusion

97
推荐指数
4
解决办法
11万
查看次数

Python的lambda没有变量?

以下代码有什么作用?

a = lambda _:True
Run Code Online (Sandbox Code Playgroud)

从我在交互式提示中阅读和测试的内容来看,它似乎始终是一个返回的函数True.

我理解正确吗?我希望理解为什么_还使用了下划线().

python lambda

72
推荐指数
5
解决办法
5万
查看次数

Python - 初始化多个列表/行

这非常难看:

psData = []
nsData = []
msData = []
ckData = []
mAData = []
RData = []
pData = []
Run Code Online (Sandbox Code Playgroud)

有没有办法在一行上声明这些变量?

python initialization list

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