如何在不使用not命令的情况下查明列表是否为空?
这是我尝试过的:
if list3[0] == []:
print "No matches found"
else:
print list3
Run Code Online (Sandbox Code Playgroud)
我是一个初学者,所以如果我犯了愚蠢的错误,请原谅.
可能重复:
Python:检查列表是否为空的最佳方法是什么?
def CleanWhiteSpace(theDict):
stuff=[]
for key,value in theDict.items():
for d in value:
if value != " ":
stuff.append(d)
print d
theDict[key]=stuff
if not value[d]:
print value
stuff=[]
return theDict
print CleanWhiteSpace({'a':['1','2'],'b':['3',' '],'c':[]})
Run Code Online (Sandbox Code Playgroud)
我编辑了这个因为我需要更多帮助.你怎么检查是否c空白?是c简单地等于[]?
我已经尝试了==[]并"[]"获得了长度== "",但似乎没有任何效果.
我有以下代码重现PyCharm警告,
表达式可以简化
此表达式检测与布尔文字的相等性比较.
seq_group = []
if seq_group == []: # warning here
print("it is empty.")
Run Code Online (Sandbox Code Playgroud)
如果我将代码更改为,
if seq_group is None:
Run Code Online (Sandbox Code Playgroud)
将修复警告,但真正的问题是None和[]emplty列出相同的事情?
干杯
当我输入以下代码时,PyCharm说"表达式可以进一步简化".这个陈述的简化版本是什么?
if listA == []:
return "yes!"
Run Code Online (Sandbox Code Playgroud)
我是Python的三元运算符的新手
>>> 'true' if True else 'false' true
true
Run Code Online (Sandbox Code Playgroud)
我希望下面的代码输出为[],因为[]不等于None
>>> a=[]
>>> a==None
False
>>> a if a else None
None
Run Code Online (Sandbox Code Playgroud)
如果我错了,请求正确
谢谢赫马
在Python中迭代堆栈的最佳方法是什么?
a = [1,2,3,4]
while (len(a) > 0)
print a.pop()
# prints 4, 3, 2, 1 in sequence
Run Code Online (Sandbox Code Playgroud)
我无法找到一种isempty方法,并且每次检查长度似乎都是错误的.
我正在测试一个列表,看看它是否为空.通常我使用len(list)== 0,我隐约记得刚读过一段时间来测试列表是否为空的正确方法是它是真还是假.
所以我试过list是False,那返回False.也许我想要使用==?不,那也是假的.list为True,返回false,如list == True.
现在我很困惑所以我做了一个快速谷歌并最终:最好的方法来检查列表是否为空
最佳答案是:
if not a:
print "List is empty"
Run Code Online (Sandbox Code Playgroud)
所以我搜索更多内容并最终在python手册中,其中4.1声明:
可以测试任何对象的真值,用于if或while条件或作为下面布尔运算的操作数.以下值被视为false:
任何空序列,例如'',(),[].
现在我很困惑.如果我测试列表就好像不是列表,它可以正常工作.但是如果一个空列表是假的,那么为什么我不能这样做,如果list是False或者list == False?
谢谢
最近我一直在用 python 中的 openCV 跟踪基于轮廓的对象。我希望我的代码只绘制最大的轮廓(大于 20 像素)。
如果我在将球举到相机的同时启动程序,则代码有效,但是当我从视图中取出球时,程序崩溃并给我:
if cv2.contourArea(cnt[0]) > 20:
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
我的代码:
import cv2
import numpy as np
#Get current frame from camera
cap = cv2.VideoCapture(-1)
#Set size of said frame
cap.set(3, 160)
cap.set(4, 120)
while True:
_, frame = cap.read()
#Remove Noise and Grain
median = cv2.medianBlur(frame,5)
# Convert BGR to HSV
hsv = cv2.cvtColor(median, cv2.COLOR_BGR2HSV)
# define range of red color in HSV
lower_red = np.array([0,200,0])
upper_red = np.array([40,255,255])
# …Run Code Online (Sandbox Code Playgroud) 我正在经历Zed的"学习Python的艰难之路",而我正在使用ex49.我对他给出的以下代码感到很困惑:
def peek(word_list):
if word_list: # this gives me trouble
word = word_list[0]
return word[0]
else:
return None
Run Code Online (Sandbox Code Playgroud)
if正如评论的那样,声明的条件给了我麻烦.我不确定这意味着什么word_list是对象,而不是条件语句.word_list它本身如何能够跟随if?
python ×10
list ×4
boolean ×3
pycharm ×2
python-2.7 ×2
python-3.x ×2
arrays ×1
conditional ×1
if-statement ×1
ironpython ×1
is-empty ×1
iteration ×1
opencv ×1
stack ×1