如何在python中将一个列表插入到另一个列表中

2024-05-16 12:36:58 发布

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

这是我的密码:

d = ['ant', 'bird', 'gecko', 'snake', 'wasp']
a = ['rabbit panda bird rabbit', 'bird gecko ant panda', 'wasp snake gecko ant']
b = []
for i in range (0, len(a)):
    c = a[i].split()
    for i in d:
        b.append(c.count(i))
print(b)

输出如下:

[0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1]

但我想要这样的期望输出:

[[0, 1, 0, 0, 0], [1, 1, 1, 0, 0], [1, 0, 1, 1, 1]]

Tags: in密码forlencountrangepandasplit
3条回答

我认为这达到了你想要的:

d = ['ant', 'bird', 'gecko', 'snake', 'wasp']
a = ['rabbit panda bird rabbit', 'bird gecko ant panda', 'wasp snake gecko ant']
b = []
for i in range (0, len(a)):
    c = a[i].split()
    e = []
    for i in d:
        e.append(c.count(i))
    b.append(e)
print(b)

请注意,添加了一个本地数组“e”,其中包含附加的内容,然后将其附加到数组“b”中

使用列表理解:

d = ['ant', 'bird', 'gecko', 'snake', 'wasp']
a = ['rabbit panda bird rabbit', 'bird gecko ant panda', 'wasp snake gecko ant']

list_of_lists = [[x.split().count(y) for y in d] for x in a]

print list_of_lists

输出:

[[0, 1, 0, 0, 0], [1, 1, 1, 0, 0], [1, 0, 1, 1, 1]]

使用python的列表理解

d = ['ant', 'bird', 'gecko', 'snake', 'wasp']
a = ['rabbit panda bird rabbit', 'bird gecko ant panda', 'wasp snake gecko ant']
b = []
for i in range (0, len(a)):
    c = a[i].split()
    b.append([c.count(i) for i in d])
print(b) # [[0, 1, 0, 0, 0], [1, 1, 1, 0, 0], [1, 0, 1, 1, 1]]

相关问题 更多 >