我遇到了Python的问题:检查列表是否为空的最佳方法是什么?在SO上.
现在,如果我想根据函数中的非空(空)是否返回a True(False)coll,建议的方法是什么?return not not coll?
以下面的代码为例:
a = [['James Dean'],['Marlon Brando'],[],[],['Frank Sinatra']]
n = 0
for i in a:
print a[n][0]
n = n + 1
Run Code Online (Sandbox Code Playgroud)
我似乎得到索引值的错误:
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)
如何跳过名为a的列表中的空列表?
我有一个如下所示的数据框:
A B C D
foo foo foo ['list_value']
bar bar bar ['list_value', 'another_list_value']
baz baz baz []
Run Code Online (Sandbox Code Playgroud)
如何过滤掉空列表?我正在尝试,.isin但它给了我一个错误:
df[df['D'].isin([])]
SystemError: <built-in method view of numpy.ndarray object at 0x0000017ECA74BF30> returned a result with an error set
Run Code Online (Sandbox Code Playgroud)
我也检查了这个问题,但无法弄清楚如何在 DataFrame 上下文中实现。
任何帮助将不胜感激。
我想知道检查列表是否为空的最佳方法是什么。
我知道这个问题看起来很愚蠢,但我意识到有时当你与其他人一起工作并且其他人阅读你的代码时,使用某些函数可能看起来比其他函数更好,并且对于来自不同编程语言的人来说更容易理解。
假设我有一个清单:
names = ["Bob", "Billy", "Samuel", "Adam", "Rob"]
Run Code Online (Sandbox Code Playgroud)
这是我检查列表是否为空的一种方法:
is_empty = bool(names)
Run Code Online (Sandbox Code Playgroud)
这是另一个:
is_empty = any(names)
Run Code Online (Sandbox Code Playgroud)
我确实意识到 any 函数会检查列表中是否至少有 1 个真值。检查列表是否为空的最佳和最快的方法是什么?哪个看起来最好,在什么场景下?有没有我不知道的更快的方法?
如果python的复杂性len()是O(1),为什么pep8建议使用
if seq:而不是if len(seq) == 0:
https://wiki.python.org/moin/TimeComplexity
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
不是len(seq) == 0更具可读性吗?
首先,我通过纯粹的好奇心来问这个问题,看看一些伟大的单线技能.该sum()函数仍然是对列表中的对象求和的最佳函数.
但正如所说的那样,我纯粹的好奇心问道:有没有办法在一行中总结list(显然,不使用sum())对象?让我们说清单就是range(0, 100)
我完全不知道如何实现这一点,但由于Python非常灵活,所以我毫不怀疑它是可能的.
我正在开发一些IMAP检查器。现在,收件箱计数以以下布局显示一条消息:[' number ']。
现在,这个数字被分流到数以VAR NUM。请参见以下代码:
for num in data[0].split():
print num
Run Code Online (Sandbox Code Playgroud)
现在的事情是,如果不存在任何新的电子邮件,那么我想要一个if语句,例如:
if <num doesn't exist>: print "No new emails found."
Run Code Online (Sandbox Code Playgroud)
但是,如果语句是什么样的呢?
我知道如何检查列表是否为空(检查列表是否为空的最佳方法)以及如何检查numpy数组是否为空(如何检查 numpy 数组是否为空?)
我有一个元素,有时可以是列表,有时可以是数组。我需要检查这个元素是否为空,而不事先知道它是哪一个。我可以考虑做
if isinstance(a, list):
if a:
# do something
elif a.any():
# do something
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有一种更Pythonic的方式来做到这一点?
当我遇到一个小问题时,我正在处理一些代码.我有点像这样:
if myList is []:
# do things if list is empty
else:
# do other things if list is not empty
Run Code Online (Sandbox Code Playgroud)
当我运行程序(并且让myList为空)时,程序将直接进入else语句,这让我感到惊讶.但是,在查看此问题后,我将代码更改为:
if not myList:
# do things if list is empty
else:
# do other things if list is not empty
Run Code Online (Sandbox Code Playgroud)
这使得我的程序按照我的预期工作(它运行'if not myList'部分而不是'else'语句).
我的问题是这个if语句的逻辑发生了什么变化?我的调试器(我使用Pycharm)说myList两次都是空列表.
我有一个清单
a=[('policy', 871),
('insurance', 382),
('life', 357),
('request', 270),
('call', 260)]
Run Code Online (Sandbox Code Playgroud)
现在,我想将其转换为一个项目的列表dict:
[{'call': 260},{'insurance': 382},{'life': 357}, {'policy': 871}, {'request': 270}]
Run Code Online (Sandbox Code Playgroud) python ×10
list ×6
if-statement ×2
any ×1
arrays ×1
boolean ×1
collections ×1
empty-list ×1
imap ×1
imaplib ×1
iteration ×1
numpy ×1
pandas ×1
pep8 ×1
sum ×1