【问题标题】:How can I change the return value in python? [closed]如何更改python中的返回值? [关闭]
【发布时间】:2017-06-09 05:50:02
【问题描述】:

现在,当我使用时,有一个字符串“hello world”

set("hello world")

它返回{' ','d','e'...} 而不是{"hello","world"}

如何改变set函数的返回值?

如果我需要定义一个类,我需要注意什么?

【问题讨论】:

  • 你到底想做什么?
  • 它根据规范工作 - 你将 sequence 传递给你的 set 函数。您的序列不是二元素序列,而是len("hello world")-元素序列。
  • 如果你想把你的字符串拆分成单词,你可以使用set("hello world".split())。见str.split

标签: python python-3.x


【解决方案1】:

您可以将字符串转换为单词的集合

sentence = "hello world"
wordList = set(sentence.split())

print wordList

输出:

set(['world', 'hello'])

获取列表

print list(wordList)

输出:

['world', 'hello']

【讨论】:

    【解决方案2】:

    看起来你想split()你的句子。

    所以,而不是set()

    set("hello world")
    

    你应该使用split():

    "hello world".split(" ")
    

    输出:

    >>> ["hello", "world"]
    

    或者甚至可以将此列表传递给set(),如果这是您想要实现的目标:

    set("hello world".split(" "))
    

    【讨论】:

    • 注意split()默认会在空格处分割
    • "显式优于隐式。" - The Zen of Python
    • @dot.Py 我认为.split() 在这里更明确。他想要一组单词,如果超过 1 个空格,你会得到空字符串。
    【解决方案3】:

    您不会更改 set 函数的返回值。这是 Python 内置的,无论如何你都不想这样做。

    你应该改变你传递给它的东西:

    result = set(["hello", "world"])
    

    【讨论】:

      猜你喜欢
      • 2022-01-06
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      相关资源
      最近更新 更多