我对它的含义或定义有些困惑.
是不是一些产生或计算新数据值的代码?(泽勒在他的书中说)
然后我想知道字符串数据类型是否是表达式.
如果是,那么eval()当它的参数是一个字符串时该怎么办?
Zelle的书说eval(<string>)评价string作为一种表达,如果string已经是一种表达,这究竟意味着什么呢?
如果string不是表达,那怎么会发生print呢?
我想编写一个单行 if-else 语句,如果不满足第一个条件,则该语句不执行任何操作。这个问题与我想要实现的目标非常相似,但我希望我的代码pass在不满足条件时(不执行任何操作)。
换句话说:
# Some list
cols = ['firstname', 'middlename', 'lastname', 'dob', 'gender', 'salary']
# Filter elements in list
[col if 'name' in col else pass for col in cols]
# Expected output
> ['firstname', 'middlename', 'lastname']
Run Code Online (Sandbox Code Playgroud)
在阅读了另一篇文章中的评论后,我也尝试跳过该else声明:
[col if 'name' in col for col in cols]
> SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我想简化为一行的语法是:
my_list = []
for col in cols:
if 'name' in col:
my_list.append(col)
Run Code Online (Sandbox Code Playgroud)
上面的代码可以简化为一行吗?
python ×2