“ TypeError:描述符“索引”需要一个“列表”对象,但接收到一个“ str””

时间:2019-04-13 20:17:34

标签: python python-3.x string list

最近,作为我的一个项目的一部分,我试图将文本转换器从常规转换为十六进制。

listA = input()

def letter_swap(to_find,to_swap):
    if i == to_find:
        num = list.index(to_find)
        int(num)
        listA[num] = to_swap

print(listA)
listA = list(listA)
print(listA)
for i in listA:
    letter_swap("a", "61")

listA = str(listA)
print(listA)

我希望它首先获取字符串,将其转换为列表,然后在函数中获取特定字符的索引,然后将其更改(按其索引)以选择一个(to_swap)。然后只打印结果文本。但是我收到以下错误。

TypeError: descriptor 'index' requires a 'list' object but received a 
'str').

1 个答案:

答案 0 :(得分:0)

那么您可以使用join()split()replace()之类的字符串表达式转换为字符串,对其进行处理,然后再将其转换回列表。不过,您应该处理输入格式。这是代码:

listA = list(input('Insert list:'))


def letter_swap(to_find, to_swap):
    manipulated_string = "-".join(listA).replace(to_find, to_swap)
    return manipulated_string.split('-')


print(listA, letter_swap("a", "61"))

输出:

  

插入列表:abcd

     

['a','b','c','d'] ['61','b','c','d']