【问题标题】:How to get rid of \n, commas and brackets? [closed]如何摆脱\n、逗号和括号? [关闭]
【发布时间】:2014-11-12 10:47:09
【问题描述】:

这是我的代码:

import random
a = open("10.txt", "r")
#print (a.read())
grid1 = a.readlines()
random.shuffle(grid1) 
row1 = grid1[1].rstrip(), grid1[2].rstrip(), grid1[3].rstrip()
row2 = grid1[4].rstrip(), grid1[5].rstrip(), grid1[6].rstrip()
row3 = grid1[7].rstrip(), grid1[8].rstrip(), grid1[9].rstrip()
print (row1)
print (row2)
print (row3)

但结果是:

('GHOST', 'TOOTH', 'BROWN')
('ABOUT', 'SMOKE', 'FUNNY')
('NIGHT', 'CAMEL', 'PRICE')

我希望它没有括号、逗号、语音标记等。

【问题讨论】:

  • 您意识到这些字符是 Python 语法的一部分,对吧?您正在创建三个tuple 对象,每个对象都包含三个string 对象 - 括号() 和逗号, 用于元组,引号' 用于字符串。
  • 使用+ 连接字符串。 grid1[1].rstrip() + grid1[2].rstrip() 或使用格式 '{} {} {}'.format(grid1[1].rstrip(), grid1[2].rstrip(), grid1[3].rstrip()) 或者您可以在元组上使用连接 ' '.join(row1)

标签: python file random


【解决方案1】:

使用print(''.join(row1))

【讨论】:

  • 感谢工作并提供了很多帮助
【解决方案2】:

或者甚至不用费心制作行:

#! /usr/bin/env python

import random

grid = [
'GHOST', 'TOOTH', 'BROWN',
'ABOUT', 'SMOKE', 'FUNNY',
'NIGHT', 'CAMEL', 'PRICE']

print grid

random.shuffle(grid)

print ''.join(["%s%s" % (word, ' ' if i % 3 else '\n') for i, word in enumerate(grid, 1)])

典型输出

['GHOST', 'TOOTH', 'BROWN', 'ABOUT', 'SMOKE', 'FUNNY', 'NIGHT', 'CAMEL', 'PRICE']
TOOTH PRICE CAMEL
ABOUT NIGHT SMOKE
BROWN GHOST FUNNY

(加上一个额外的空行)

【讨论】:

    【解决方案3】:

    由于 row1 是一个元组,python 使用元组语法打印它。朱

    row1 = ('GHOST', 'TOOTH', 'BROWN')
    row2 = ('ABOUT', 'SMOKE', 'FUNNY')
    row3 = ('NIGHT', 'CAMEL', 'PRICE')
    
    for row in [row1, row2, row3]:
        for x in row:
             print x,
        print
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多