我的目的是:对于B中的每个元素,我想创建一个列表,其中它包含列表B的元素和列表A中的较小的元素(比B元素)。
我尝试了两个for循环,但是,我不知道如何完成这项工作:
A=[1,2,3,4,5,6,7,8,9]
B=[3,4,5]
C=[]
for i in B:
for r in A:
if i>=r:
C.append(r)我希望得到这样的结果:
[[3,1,2,3],[4,1,2,3,4],[5,1,2,3,4,5]]有什么建议吗?
发布于 2017-03-14 18:22:24
试试这个:
for i in B:
new_list = [i] # inner list starting with the elmt from B
for r in A:
if i >= r:
new_list.append(r) # append to inner list
C.append(new_list) # finally append inner list to C发布于 2017-03-14 18:22:28
您是否尝试过在其中一个循环中使用数组:
A=[1,2,3,4,5,6,7,8,9]
B=[3,4,5]
C=[]
for b in B:
c = [b]
for a in A:
if a <= b:
c.append(a)
C.append(c)
print(C)发布于 2017-03-14 18:39:01
如果您想把它写成一行:
A=[1,2,3,4,5,6,7,8,9]
B=[3,4,5]
C=[[b] + [a for a in A if a <= b] for b in B]
print(C)版画
[[3, 1, 2, 3], [4, 1, 2, 3, 4], [5, 1, 2, 3, 4, 5]]https://stackoverflow.com/questions/42793635
复制相似问题