Python中文
首页
教程
问答
标签
搜索
登录
注册
在python集合中维护类型的顺序
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>如果我有一个函数可以同时对集合和列表进行操作,并且应该返回序列的修改形式,那么有没有一种方法可以保留序列类型,但仍然使用理解?例如,在下面的例子中,如果我用一个集合调用<code>stripcommonpathprefix</code>,它可以工作,但是会产生将集合转换为列表的副作用。是否可以在不直接检查<code>isinstance</code>的情况下维护类型(同时仍然使用一个理解),然后基于这个返回正确的类型?如果没有,那么最干净的方法是什么?在</p> <pre><code>def commonpathprefix(seq): return os.path.commonprefix(seq).rpartition(os.path.sep)[0] + os.path.sep def stripcommonpathprefix(seq): prefix = commonpathprefix(seq) prefixlen = len(prefix) return prefix, [ p[prefixlen:] for p in seq ] </code></pre> <p>如果这是一个基本的问题,谢谢你也很抱歉。我刚开始学python。在</p> <p><em>p.S.我使用的是python3.2.2</em></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果没有类型检查,没有通用的方法可以做到这一点。另外,对于集合,您可以使用集合理解:<code>{ p[prefixlen:] for p in seq }</code>。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
8 回答
无法使用Django\u mssql\u后端迁移到外部hos
2 回答
无法使用Django&Python3.4连接到MySql
10 回答
无法使用Django+nginx上载媒体文件
7 回答
无法使用Django1.6导入名称模式
7 回答
无法使用Django1.7和mongodb登录管理站点
1 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
5 回答
无法使用Djangockedi验证CBV中的字段
7 回答
无法使用Djangocketditor上载图像(错误400)
7 回答
无法使用Djangocron进行函数调用
10 回答
无法使用Djangofiler djang上载文件
6 回答
无法使用Djangokronos
9 回答
无法使用Djangomssql provid
7 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
7 回答
无法使用Djangomssq迁移Django数据库
3 回答
无法使用Djangonox创建用户
1 回答
无法使用Djangopyodb从Django查询SQL Server
5 回答
无法使用Djangopython3ldap连接到ldap
2 回答
无法使用Djangoredis连接到redis
2 回答
无法使用Django中的FK创建新表
9 回答