【问题标题】:Print function in python giving strings with brackets?python中的打印函数给出带括号的字符串?
【发布时间】:2016-08-18 01:13:24
【问题描述】:

当我在 python 中打印一条语句时,它以 ['Hello World'] 的形式给出。我不确定为什么,正在寻找解决这个问题,我相信它可能与代码的格式有关。

query = input("Enter your query: ").lower()
brands = ["apple", "android", "windows"]
brand = set(brands).intersection(query.split())
brand = str(brand.translate({ord('['): '', ord(']'): ''}))
print(brand)

当给出正确的苹果查询时,它会给出输出(来自打印函数):

{'apple'}

我将不胜感激任何解决方案,

谢谢,

Python 外壳:v3.5.2

【问题讨论】:

  • 这里是查询命令 - query = input("请输入您的查询:").lower() - 谢谢
  • 第三行,brand是一个集合。我不确定你在第四行做什么。你能解释一下吗?
  • 这是因为你从一个集合中制作了一个字符串。只需打印集合中的项目,或执行print(*brand) 之类的操作
  • 谢谢。 :-) 在第三行中,我正在查看数组中匹配项的查询,如果找到该匹配项,则将该交集设置为变量品牌。
  • 第三行就OK了。问题是在那之后你想做什么!

标签: python arrays string brackets


【解决方案1】:

花括号“{”和“}”用于集合和字典。

# e.g.
print(set(brands))
{'apple', 'android', 'windows'}

在您的情况下,您通过将 set(brands) 与查询相交来创建一个集合,然后将该集合转换为一个字符串,其中将包含大括号。

排除大括号的一个简单解决方案是:

brand = set(brands).intersection(query.split())
print(', '.join(brand))

【讨论】:

  • 您好,感谢您的回复,输出为 '{, ', a, p, p, l, e, ', }' 仍然包含大括号。本质上,脚本的目的是检查品牌的查询。然后使用在查询中找到的品牌将其转换为可用于条件语句的格式。理想情况下,我试图达到的格式只是苹果的结果。谢谢你的帮助,山姆 :-)
  • 使用我的解决方案,您需要删除brand = str(brand.translate({ord('['): '', ord(']'): ''}))这一行
  • 只是把它扔出去 - 你知道将“苹果”的打印输出转换为变量的方法吗?
  • foobar = ', '.join(brand)
  • 太好了 - 谢谢!您可以检查一下我在异常处理程序中遇到的另一个错误。这是我第一次编写这样的脚本,因此出现了错误。谢谢,山姆
猜你喜欢
  • 2014-11-23
  • 2017-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
  • 2017-02-25
  • 2021-11-16
  • 2015-11-14
相关资源
最近更新 更多