You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python列表函数无输出且报'str'对象不可调用错误求助

问题分析与解决

错误根源

你碰到的TypeError: 'str' object is not callable错误,完全是这行代码的问题:

if __name__ == "__Main__"():

这里存在两个明显错误:

  • Python的主模块标识符是全小写的__main__,不是首字母大写的__Main__,大小写不匹配会导致主执行块的条件不成立,这也是你初始运行无输出的原因——代码定义了函数但根本没执行。
  • 末尾多了一对(),这相当于把字符串"__Main__"当成函数去调用,字符串本身不能被调用,自然抛出错误。

修正后的完整代码

def create_list():
    return ["Playstation", "Xbox", "Steam", "iOS", "Googleplay"]

def get_info(my_list):
    return (my_list[0], my_list[-2], len(my_list))

def get_partial(my_list):
    return my_list[1:4]

def get_last_three(my_list):
    new_list = my_list[-3:]
    new_list.reverse()
    return new_list

def double_list(my_list):
    return (my_list * 2)

def amend(my_list):
    my_list[1] = "None"
    my_list.append("Bye")
    return my_list


if __name__ == "__main__":
    test_list = create_list()
    print(test_list)
    print(get_info(test_list))
    print(get_partial(test_list))
    print(get_last_three(test_list))
    print(double_list(test_list))
    print(amend(test_list))

预期运行输出

修正后执行代码,控制台会依次输出:

  • 原始创建的列表
  • 由列表第一个元素、倒数第二个元素、列表长度组成的元组
  • 列表索引1到3的切片结果(遵循左闭右开规则)
  • 列表最后三个元素反转后的新列表
  • 原始列表重复两次的新列表
  • 修改第二个元素为"None"并追加"Bye"后的列表

内容的提问来源于stack exchange,提问作者DarkPhobos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 12:25:19