gpt4 book ai didi

python - 具有可变成员的列表列表的产品

转载 作者:太空宇宙 更新时间:2023-11-04 09:45:42 26 4
gpt4 key购买 nike

假设我有这个输入数据

my_input_list = [[A],[A,B,C],[D],[D,E,F],[A,B,C,D,E,F],[A,C,E]]
items_that_appear_twice = [A,B,C]
items_that_appear_four = [D,E,F]

我想创建一个扩展,使某些元素只允许出现两次。

my_output_list = [
[A],[A],
[A,B,C],[A,B,C],
[D],[D],[D],[D],
[D,E,F],[D,E,F],[D,E,F],[D,E,F],
[A,B,C,D,E,F],[A,B,C,D,E,F],[D,E,F],[D,E,F],
[A,C,E],[A,C,E],[E],[E]]

我厌倦了一些想法,但没有找到一个真正巧妙的解决方案,比如构建四个列表和从它们生成两个空列表的 list.remove()。例如,my_input_list[0]*4 上的列表删除技术在我想要 时给出了 [A]、[A]、[]、[](两个空列表) >[A],[A] .

最佳答案

我有一个工作版本:See Pyfiddle .

my_input_list = [['A'],['A','B','C'],['D'],['D','E','F'],['A','B','C','D','E','F'],['A','C','E']]
items_that_appear_twice = ['A','B','C']
items_that_appear_four = ['D','E','F']

my_output_list = []
for my_input in my_input_list:
items_allowed_to_appear_twice = list(filter(
lambda value: (value in items_that_appear_twice
or value in items_that_appear_four),
my_input))

items_allowed_to_appear_four = list(filter(
lambda value: value in items_that_appear_four,
my_input))

my_output_list += 2*[items_allowed_to_appear_twice]
if len(items_allowed_to_appear_four):
my_output_list += 2*[items_allowed_to_appear_four]

print(my_output_list)

关于python - 具有可变成员的列表列表的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49909061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com