python中的列表索引

python中的列表索引,python,Python,我有这个密码 def display(s1,s2): l1 = list(s1) l2 = list(s2) l3 = [None]*10 for i in range(10): for j in range(10): if i==l2[j]: l3[j] = l1[i] return l3 print display('3941068257', '1234567890') 示例:

我有这个密码

def display(s1,s2):
    l1 = list(s1)
    l2 = list(s2)
    l3 = [None]*10
    for i in range(10):
        for j in range(10):
            if i==l2[j]:
                l3[j] = l1[i]
    return l3

print display('3941068257', '1234567890')
示例:列表1的位置0中的3;0位于列表2的第9位=>我们将在名为l3的新列表的第9位显示3,以此类推

所以程序假设显示为9410682573,但它仍然不显示

我的编译器没有调试器,所以我不知道如何找到。有人可以帮忙吗?

您正在将字符串(l2的一个字符元素)与整数进行比较。它总是失败

这是因为发生了以下情况:

l2 = ['3','9','4','1','0','6','8','2','5','7']  # when you do "l2 = list(s2)"
for i in [0,1,2,3,4,5,6,7,8,9]:  # when you do "for i in raange(10)"
这些类型根本不匹配

而是这样做:

def显示(s1、s2):
l1=列表(s1)
l2=列表(s2)
l3=[无]*10
对于范围(10)内的i:
对于范围(10)内的j:
如果str(i)=l2[j]:#您正在将字符串(l2
的一个字符元素)与整数进行比较。它总是失败

这是因为发生了以下情况:

l2 = ['3','9','4','1','0','6','8','2','5','7']  # when you do "l2 = list(s2)"
for i in [0,1,2,3,4,5,6,7,8,9]:  # when you do "for i in raange(10)"
这些类型根本不匹配

而是这样做:

def显示(s1、s2):
l1=列表(s1)
l2=列表(s2)
l3=[无]*10
对于范围(10)内的i:
对于范围(10)内的j:

如果str(i)=l2[j]:#@LongBodie:谢谢:)我很高兴我帮了忙。@LongBodie:若要将列表显示为一个字符串,请按如下方式连接它:
“”。join(l3)
@LongBodie:谢谢:)我很高兴我帮了忙。@LongBodie:若要将列表显示为一个字符串,请按如下方式连接:
“”。join(l3)