如何在Python函数中打印字符串列表?

2024-06-16 09:43:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个名为apply_to_list的函数,它使用现有函数sort_words获取字符串列表,并按字母顺序将每个字符串打印出来。目前,我的输出不在列表中,每个字符串都不在引号内

预期:将[“香蕉苹果”、“猫象狗”]变成[“苹果香蕉”、“猫象狗”]

我的输出:

apple banana
cat dog elephant

代码:

def sort_words(string):
words = string.lower().split()

# sort the list
words.sort()

newSentence = " ".join(words)
  
# Return newSentence
return newSentence

def apply_to_list(string_list):
    for string in string_list:
        strings = sort_words(string)
        print(strings)
        
apply_to_list(["banana apple", "cat elephant dog"])

Tags: to函数字符串apple列表stringsortlist
3条回答

我在你的问题中理解的是,你想要实现这一点:

def sort_words(string):
    words = string.lower().split()
    words.sort()
    newSentence = " ".join(words)
    return newSentence
list1 = []
def apply_to_list(string_list):
    for string in string_list:
        strings = sort_words(string)
        list1.append(strings)
apply_to_list(["banana apple", "cat elephant dog"])
print(list1)

输出

["apple banana", "cat dog elephant"]

您可以添加其他功能并在打印时使用:

def sort_words(string):
  words = string.lower().split()
  words.sort()
  newSentence = " ".join(words)
  return newSentence

def quote(a):
  return '"{0}"'.format(a)

def apply_to_list(string_list):
  for string in string_list:
    strings = sort_words(string)
    print(quote(strings))
    
apply_to_list(["banana apple", "cat elephant dog"])

我想说,当您尝试在sort_words中连接字符串时,您正在将列表转换为字符串,因此您返回的值将不是列表。所以我建议您创建sort_words返回值的列表

我已经在下面展示了这是如何可能的

def sort_words(string):
    words = string.lower().split()

    # sort the list
    words.sort()
    return ' '.join(words)

def apply_to_list(string_list):
    w = []
    for string in string_list:
        w.append(sort_words(string))
    return w
print(apply_to_list(["banana apple", "cat elephant dog"]))

输出

['apple banana', 'cat dog elephant']

相关问题 更多 >