首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python-将字符串排序到列

Python-将字符串排序到列
EN

Stack Overflow用户
提问于 2011-12-10 20:22:19
回答 1查看 668关注 0票数 2

可能重复: Python-向字符串添加指定的宽度

根据字符串的宽度对字符串进行排序,例如下面的说明,我对下面显示的每一列都有特定的值,但是我想将这些值(在生成之后)打印到文本文件中。

代码语言:javascript
复制
Column 1-6 Record Name
Column 7-11 Serial Number
Column 13-16 ATOM name/Type
Column 17 Alternate Location Indicator
Column 18-20 Residue Name
Column 22 Chainidentifier 
Column 23-26 Residue sequence number
Column 27 Code for insertion fo residues
Column 31-38 X-value
Column 39-46 Y-value
Column 47-54 Z-Value
Column 55-60 Occupency
Column 61-66 Temperature (Default 0.0)
Column 73-76 Segment identifier
Column 77-78 Element Symbol
Column 79-80 Charge on atom

输出

代码语言:javascript
复制
ATOM      1  P    DG S   1       3.168  -8.339   4.060  1.00  0.00           P

注意:原子是1-6列,1是7-11列,等等.

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2011-12-10 20:27:25

若要按字符串的剩余名称对字符串列表进行排序,请使用如下所示:

代码语言:javascript
复制
list_of_strings.sort(key=lambda s: s[17:20])

要了解有关排序技术的更多信息,请参见Python排序指南

要了解有关字符串切片的更多信息,请参见关于String的Python教程部分

若要使用此记录布局构建字符串,请使用固定宽度字符串格式。例如:

代码语言:javascript
复制
>>> '%-6s%5s%4s' % ('ATOM', 1, 'P')
'ATOM      1   P'
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8459582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档