本人刚接触Python,请教Python这段语句中if list1:的意思是什么,是语句简写吗?
if list1:
for i in list1:
i += i
print(i)
else:
print('空表')
python是弱类型的编程语言
任何类型都可以转成bool类型用于判断
当一个int、float型作为if的判断条件时,非0是true,0是false
如果是str、list之类的可迭代对象,那么非空是true,空是false
如果是一个class,那么非None是true,None是false
注意空list[]和None是不一样的,但是放到if里它都代表false
python中每个对象都有bool值,所以每个对象都可以用if,list如果是空的,对应的bool值就是false
问题提出:
list_2 = ['question_type', 'disease_desc'] # 列表
if not list_2:
print('list_2 is none')
else:
print('list_2 is not none')
>>>
list_2 is not none
上述代码中if not list_2
的功能: 判断list是否为空
原理解析:
Python 条件语句: Python条件语句是通过一条或多条语句的执行结果
(True
或者False
)来决定执行的代码块。
Python程序语言指定任何非0
和非空(null)
值为True
,0
或者 null
为False
。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件(exp):
执行语句…… # (True时执行)
else:
执行语句…… # (False时执行)
其中exp可以是一个表达式或者是任意元素,当exp为真,执行缩进以后的代码。
范例演示:
空列表等于 False,非空列表等于True。
if list ==True
; 同时 if not list == False
;if list ==False
;同时 if not list == True
;测试列表是否为空
# 为空时,if cars == False
cars = []
if cars:
print("List has tuples.")
else:
print("List is null.")
>>>
List is null.
# 不为空时,if cars == True
cars = ['toyota']
if cars:
print("List has tuples.")
else:
print("List in null.")
>>>
List has tuples.
测试某变量是否非零
if 2>1: #此时的2>1为表达式,返回真
print('a') #因为表达式2>1为真,所以会执行print('a'),输出'a'
if 1<2: #1<2是个表达式,但是返回假
print('a') #所以不会执行这句代码
if 1:
print('a') #由于在Python中,非0和非null都为真,所以1为真,执行代码
if 0:
print('a') #0为假,所以不执行此代码
参考链接:
写在最后的话:扎实基本功,多总结、多思考、多输出。
该语句相当于判断列表list1是否为空,如果列表不为空,则执行if语句后面的代码块。如果列表为空,则不执行。该语句中没有指定具体的条件,因此默认情况下判断的是列表是否有元素。如果需要指定其他条件,可以在冒号后面添加具体的判断条件。
以下是一个示例代码,演示如何使用if list1来判断一个列表是否为空:
list1 = [] # 定义一个空列表
if list1:
print("列表不为空")
else:
print("列表为空")
在上述代码中,由于列表list1为空,因此if语句的条件不成立,代码块会跳过,执行else语句,输出“列表为空”。
如果将列表list1赋值为[1,2,3],则if语句的条件成立,执行if语句后面的代码块,输出“列表不为空”:
list1 = [1,2,3] # 定义一个有元素的列表
if list1:
print("列表不为空")
else:
print("列表为空")
输出结果为“列表不为空”。