【问题标题】:Python TypeError in list [duplicate]列表中的 Python TypeError [重复]
【发布时间】:2023-03-20 18:16:01
【问题描述】:

我正在用 python 制作字谜 但是当我调用'list'函数时,它不起作用。请帮忙。 我正在尝试将“str”更改为“list” 但它不起作用。我真的不知道为什么

def generate_anagram(s):
    a=s[0:len(s)-1]
    b=s[len(s)-1]
    if len(a)==1:
        return make(a,b)
    else:
        return make(generate_anagram(a),b)  

def make(s1,s2):
    list=[]
    l=len(s1)
    q=list(s1)
    w=list(s2)
    ss=""
    for i in range(l):
        if(len(q)>l):
            q.remove(w)
        q.insert(i,w)
        list+=q

    for i in range(len(list)):
        ss+=list[i]
    return ss


if __name__ == "__main__":

    print(generate_anagram("anagram"))

【问题讨论】:

  • 因为你已经用变量名list覆盖了内置函数list()

标签: python types


【解决方案1】:

代码

list=[]
l=len(s1)
q=list(s1)
w=list(s2)

是有问题的,因为第一行将通过创建一个名为 list 的局部变量来“隐藏”标准函数 list。这意味着最后两行没有调用 Python 的 list 函数。

【讨论】:

  • 我可以再问一个吗?我想将 'list[i]' 设置为 'str' 但是 ss+=list[i] 不起作用.. 如何将列表类型设置为 str 类型?
  • @babababam: 在 Python 中 "".join(L) 其中L 是一个字符列表,将所有字符连接起来并返回结果字符串。
  • 谢谢!你真好!
猜你喜欢
  • 1970-01-01
  • 2023-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
相关资源
最近更新 更多