TypeError:列表索引必须是整数,而不是 str Python

2022-01-13 00:00:00 python mapreduce

问题描述

list[s] 是一个字符串.为什么这不起作用?

list[s] is a string. Why doesn't this work?

出现如下错误:

TypeError:列表索引必须是整数,而不是 str

TypeError: list indices must be integers, not str

list = ['abc', 'def']
map_list = []

for s in list:
  t = (list[s], 1)
  map_list.append(t)


解决方案

list1 = ['abc', 'def']
list2=[]
for t in list1:
    for h in t:
        list2.append(h)
map_list = []        
for x,y in enumerate(list2):
    map_list.append(x)
print (map_list)

输出:

>>> 
[0, 1, 2, 3, 4, 5]
>>> 

这正是你想要的.

如果你不想到达每个元素,那么:

If you dont want to reach each element then:

list1 = ['abc', 'def']
map_list=[]
for x,y in enumerate(list1):
    map_list.append(x)
print (map_list)

输出:

>>> 
[0, 1]
>>> 

相关文章