如何根据lis的范围从不同的列表中附加两个字符串

2024-09-30 04:41:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从不同的列表中附加两个字符串

list1 = ['dir1/dir2/c/', 'dir1/dir2/java/', 'dir1/dir2/python/']
list2 = [['c1', 'c2', 'c3'], ['java1', 'java2', 'java3'],['python1','python2']]

对于列表1中的每个项目,我都需要加入列表2中的项目

输出:

dir1/dir2/c/c1
dir1/dir2/c/c2
dir1/dir2/c/c3

dir1/dir2/java/java1
dir1/dir2/java/java2
dir1/dir2/java/java3

dir1/dir2/python/python1
dir1/dir2/python/python2

代码:

for i in list1:
    for j in list2:
        for k in j:
            print(i+'/'+k)

Tags: in列表forjavac2c1c3list2
2条回答

使用enumerate获取正在处理的列表的索引。这样,您可以选择在内部for循环中迭代哪个内部列表

list1 = ['dir1/dir2/c/', 'dir1/dir2/java/','dir1/dir2/python/']
list2 = [['c1','c2','c3'],['java1','java2','java3'],['python1','python2']]

for i, li in enumerate(list1):
    for j in list2[i]:
        print(li+j)

输出:

dir1/dir2/c/c1
dir1/dir2/c/c2
dir1/dir2/c/c3
dir1/dir2/java/java1
dir1/dir2/java/java2
dir1/dir2/java/java3
dir1/dir2/python/python1
dir1/dir2/python/python2

您可以zip这两个列表:

for d, l in zip(list1, list2):
    for s in l:
        print(d + s)

这将输出:

dir1/dir2/c/c1
dir1/dir2/c/c2
dir1/dir2/c/c3
dir1/dir2/java/java1
dir1/dir2/java/java2
dir1/dir2/java/java3
dir1/dir2/python/python1
dir1/dir2/python/python2

相关问题 更多 >

    热门问题