删除列表中括号中的[]和逗号

时间:2019-03-03 19:11:05

标签: python python-3.x

我正在尝试删除列表中的逗号和方括号[]。该程序要求用户在选择的范围内输入要随机化的值的数量,然后显示结果。当前程序打印为:

How many #s do you want? 10
Enter the lowest number to generate 1
Enter the highest number to generate 10
[1, 8, 6, 3, 6, 10, 4, 2, 10, 9]

但是我需要它显示为:

How many #s do you want? 10
Enter the lowest number to generate 1
Enter the highest number to generate 10
1 8 6 3 6 10 4 2 10 9

也许我做错了吗?有想法吗?

import random

def main():
  numbers = int(input("How many #s do you want? "))
  numbers_2 = int(input("Enter the lowest number to generate "))
  numbers_3 = int(input("Enter the highest number to generate "))

  pop = make_list(numbers, numbers_2, numbers_3)
  print(pop)
  num_string = ""

  for i in sorted(pop):
    num_string += str(i) + " "
  return num_string

def make_list(numbers, numbers_2, numbers_3):
  num_list = []
  for numbers in range(numbers):
    num_list.append(random.randint(numbers_2, numbers_3))
  return num_list

main()

2 个答案:

答案 0 :(得分:2)

您可以使用print(*pop)进行此操作。

在给定几个参数(例如print(1, 2, 3)时,print命令将把它们全部打印出来,转换为字符串,并用空格分隔。

使用*,您的数组pop被解压缩,从而形成了print函数的参数。

通过设置sep参数,您甚至可以更改分隔符。例如,print(*pop, sep=",")将给出1,8,6,3,6,10,4,2,10,9

答案 1 :(得分:1)

您正在返回列表,因此在输出中将其正确格式化。要控制格式,请使用print例如

print(' '.join(map(str,pop)))
相关问题