读取文本文件并排序输出python_如何读取文本文件并以相反的顺序输出单词?Python...

所以我正在编写一个代码来读取文本并在屏幕上以相反的顺序输出单词,这意味着原始文本是

hello world

how are you

至:

you are how

world hello

我让它部分工作,问题是它在一个列中输出它,但我希望它在行中.

代码是

for a in reversed(list(open("text.txt"))):

for i in a:

a = i.split()

b = a[::-1]

final_string = ''

for i in b:

final_string += i + ' '

print(final_string)

你有一个循环太多:

for a in reversed(list(open("text.txt"))):

for i in a:

第一个循环以相反的顺序生成文件中的行,因此a绑定到每一行.然后第二个循环遍历该行中的每个单独字符.然后,您继续“反转”该字符(或当该字符是空格或换行符时为空列表).

你已经在文件中使用了反转,你也可以用它作为行;将它与str.join()结合:

for line in reversed(list(open("text.txt"))):

words = line.split()

reversed_words = ' '.join(reversed(words))

print(reversed_words)

或者更简洁地说:

print(*(' '.join(l.split()[::-1]) for l in reversed(list(open('text.txt')))), sep='\n')

演示:

>>> with open('text.txt', 'w') as fo:

... fo.write('''\

... hello world

... how are you

... ''')

...

24

>>> for line in reversed(list(open("text.txt"))):

... words = line.split()

... reversed_words = ' '.join(reversed(words))

... print(reversed_words)

...

you are how

world hello

>>> print(*(' '.join(l.split()[::-1]) for l in reversed(list(open('text.txt')))), sep='\n')

you are how

world hello

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值