Python 接收列表索引必须是整数或片错误

Python 接收列表索引必须是整数或片错误,python,Python,我刚开始学习python,并尝试计算一些东西。我得到一个TypeError,任何帮助都会很棒:列表索引必须是整数或切片,而不是str names = ['Alex', 'Ari','Dylan', 'Parker', 'Quinn', 'Ethan', 'Nick', 'Sarah', 'Christy'] import requests name_check = {} name_check = [] test = {} new = {} for index in range(le

我刚开始学习python,并尝试计算一些东西。我得到一个TypeError,任何帮助都会很棒:列表索引必须是整数或切片,而不是str

    names = ['Alex', 'Ari','Dylan', 'Parker', 'Quinn', 'Ethan', 'Nick', 'Sarah', 'Christy']

import requests

name_check = {}
name_check = []
test = {}
new = {}

for index in range(len(names)):
    name_check['name'] = names[index]

    name_test = requests.get('https://api.genderize.io/',params=name_request).json()

    new = {}
    new['gender'] = name_test['gender']
    new['probability'] = name_test['probability']
    new['count'] = name_test['count']

    test[name[index]] = new

test 

您正在将
name\u check
重新定义为一个列表,因此
name\u check['name']
将不起作用。您应该删除第二行。

这种类型的使用列表是错误的。 正如您在这里看到的,
name\u check['name']
是一个错误的语句,因为您不能使用字符串作为列表的索引

您可以通过以下链接了解如何正确使用列表:


我希望这会有帮助。

类型错误:列表索引必须是整数,而不是str

因为在网上#11

第11行的名称检查['name']=名称[索引]#

正在制造问题。与第6行和第7行一样,存在相互冲突的定义

name_check = {} #First initializing it as dictionary
name_check = [] # Then naming same as List
因此,第11行是将姓名检查表解释为列表,而不是字典。
因此,当您试图在name\u check变量中输入'name'键时,它会抛出一个异常,指出'it is expecting a integer而不是string'

在哪一行出现错误?为什么要分配
name\u check={}
,然后立即执行
name\u check=[]
?谢谢!!我现在在这一行遇到了一个错误,有什么想法吗?:test[name[index]]=newindexer错误:字符串索引超出范围
name_check = {} #First initializing it as dictionary
name_check = [] # Then naming same as List