此代码返回列表[0,0,0]到[9,9,9],它不产生重复,每个元素按从小到大的顺序排列.
def number_list():
b=[]
for position1 in range(10):
for position2 in range(10):
for position3 in range(10):
if position1<=position2 and position2<=position3:
b.append([position1, position2, position3])
return b
Run Code Online (Sandbox Code Playgroud)
寻找一种更短更好的方法来编写此代码而不使用多个变量(position1,position2,position3),而只使用一个变量i
.
这是我尝试修改代码,但我坚持执行if
语句:
def number_list():
b=[]
for i in range(1000):
b.append(map(int, str(i).zfill(3)))
return b
Run Code Online (Sandbox Code Playgroud) a = [2,7,9]
b = [[7,9],[1,2],[2,9]]
Run Code Online (Sandbox Code Playgroud)
有多少对列表中的[a]
一元组相匹配[b]
的通知都对[7,9]
,并[2,9]
在列表中[a]
.即使对[1,2]
包含一个数字2
,它也不会被计数,因为两个数字都不在列表中[a]
.返回值应为2,匹配对的len.
len(filter(lambda l:if_in(b,l),a))
Run Code Online (Sandbox Code Playgroud)
需要帮助创建一个if_in函数或一种简单的方法来编写这个函数.我怎样才能使此功能工作无论大小a
或b
.
python ×2