我有两个列表,a
和b
。我需要使用a
和b
中的元素来构建一个新的列表c
。
要求:
c
具有最大长度n- 我希望
a
和b
的代表性尽可能相等 - 新列表中的
a
元素必须位于b
元素之前 - CCD_ 11和CCD_
例如,如果:
a=['a1','a2','a3']
b=['b1']
n=3
c
应为['a1','a2','b1']
我的问题是,"如何在Python中做到这一点?"。
将mid
定义为中间点(如果n
为奇数,则从a
获取更多元素(,并从a
获取第一个mid
元素,从b
获取n-mid
元素。
import math
mid = min(math.ceil(n/2), len(a))
c = a[:mid] + b[0:(n-mid)]
我添加了min(of math.ceil(n/2) and len(a))
,因为a
可能没有n/2个元素