Python中文
首页
教程
问答
标签
搜索
登录
注册
什么是“pythonic”方法来创建一个包含一个元素的列表,或者只是保持它为空?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>假设一个have<code>Person</code>实例<code>person</code>。<code>person</code>可能有一个属性<code>id</code>。你知道吗</p> <p>我想写一个函数,当属性为<code>None</code>或缺少时,得到一个空列表<code>[]</code>;当属性为<code>id</code>时,得到一个列表<code>[12, ]</code>。你知道吗</p> <pre><code>def get_id_list(person): try: return [getattr(person, 'id'), ] except AttributeError: return [] </code></pre> <p>这是完美的作品,但有没有一个“pythonic”的方式做这件事没有尝试除了块,也许在一行?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我会选择</p> <pre><code>def get_id_list(person): _id = getattr(person, 'id', None) return [] if _id is None else [_id] </code></pre> <p>但是,最好确保总是定义属性,这样就不必将<code>getattr</code>与默认值一起使用,也不必使用<code>hasattr</code>检查是否存在。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
10 回答
将Pandas数据帧转换为scipy稀疏矩阵
1 回答
将Pandas数据帧转换为Spark Datafram时出现问题
6 回答
将pandas数据帧转换为spark DataFram时出错
10 回答
将Pandas数据帧转换为spark datafram时收到错误
6 回答
将Pandas数据帧转换为Spark数据帧
10 回答
将Pandas数据帧转换为Tensorflow数据
7 回答
将Pandas数据帧转换为tkinter obj
2 回答
将pandas数据帧转换为XML
7 回答
将Pandas数据帧转换为值sql语句
3 回答
将pandas数据帧转换为元组
10 回答
将pandas数据帧转换为元组列表
1 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
5 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
1 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
8 回答
将pandas数据帧转换为内存中类似文件的对象?
3 回答
将Pandas数据帧转换为内存功能(&F)
5 回答
将pandas数据帧转换为列表列表
3 回答
将pandas数据帧转换为列表列表以输入到RNN
7 回答
将Pandas数据帧转换为单行DataFram
3 回答