python - 垂直对齐 str 到反向水平序列
问题描述
一旦我获得了我需要的所有字符串,下一步就是找到所有垂直对齐的字符串整数并将它们彼此相邻放在同一行中,而不是每个 str 单独放置,然后将它们反转
文本文件:
night train whistles stars
over a nation under
mad temporal czars
round lumps of cells grow:
1234567 Info1
1234567 Info2
1234567 Info3
5
2
7
0
1
5
8
3
2
7
0
1
5
8
9
6
1
7
4
5
8
1
9
7
0
1
5
8
8
9
7
2
4
5
8
9
9
7
2
4
5
8
Info5
Info6
期望的输出:
8510725
8510723
8547169
8510791
8542798
8542799
代码:
ifile = open('pgone.txt','r')
buffer = ifile.readlines()
temp = ""
listy = []
for e in buffer:
temp += e.strip('""')
if len(e) == 2:
listy.append(e)
one = listy[0:7]
two = listy[7:14]
three = listy[14:21]
four = listy[21:28]
five = listy[28:35]
six = listy[35:]
one.reverse()
two.reverse()
three.reverse()
four.reverse()
five.reverse()
six.reverse()
当然,现在我以这种方式分别获得了所需的结果,但是,我有兴趣为这个问题获得更优雅的解决方案。谢谢!
解决方案
下面的代码可以解决问题:
numbers = []
numbers_converted = []
with open('txtfile.txt','r') as f:
for line in f.readlines():
if len(line) == 2:
numbers.append(line.replace('\n', ''))
numbers = [numbers[i*7:i*7+7] for i in range(7)] #The word is 7 char big
numbers.pop() #Get rid of the last list because it is empty
for number in numbers:
number.reverse()
numbers_converted.append(int("".join(number)))
print(numbers_converted)
输出上面的代码:
[8510725, 8510723, 8547169, 8510791, 8542798, 8542799]
推荐阅读
- wordpress - Foundry Wordpress 主题导航栏与 WooCommerce 商店页面重叠
- tags - 无法解析 EMV TAG ssuer Application DATA 0FA5
- python - 如何在递归函数中找到减法的数量
- python - 如何将两个字典中的两个单词相加
- c# - 找到正确的子类型,存储在基类类型中?
- python - 在 Jupyter Notebook(Conda 安装)中的 PySpark 上保存文件不起作用,但在 scala shell 中有效
- php - 尝试对 GET 请求进行身份验证时,PostMan 中出现错误 401 Invalid token
- python - 获取python中带有子目录的目录中的所有文件md5哈希
- javascript - 按下后退按钮时返回上一个选项卡
- javascript - Echarts日期日期聚合