Elastcio
发表于 2017-11-22 19:46:05
mylist =
target = 9
def fun(mylist, target):
result = []
for each in mylist:
mylist.remove(each)
for each2 in mylist:
if each + each2 == target:
result.append()
mylist.remove(each2)
return result
if __name__ == "__main__":
result = fun(mylist, target)
print(result) #[, [-3, 12], ]
python_techlog
发表于 2017-11-23 11:13:23
def fun(mylist,target):
slist = []
for i in range(len(mylist)):
for j in range(i+1,len(mylist)):
if mylist + mylist == target:
slist.append (,mylist])
return slist
21312qsad
发表于 2017-11-23 14:43:30
def sss(a):
for i in a:
s=[]
for d in a:
if i+d==9:
s.append(i)
s.append(d)
yield (s)
a=
l=list(sss(a))
print(l)
x=[]
for i in l:
i.sort()
print(l)
s=[]
for i in l:
if i not in s:
s.append(i)
print(s)
Python玲玲
发表于 2017-11-23 18:53:49
def fun(mylist,target):
list1 = []
for i in mylist:
a = target - i
if a in mylist:
lst =
list1.append(lst)
mylist.remove(a)
print(list1)
编程新血
发表于 2017-11-25 09:29:40
import itertools
l=
def fun(mylist, target):
import itertools
r=[]
list1=itertools.combinations(mylist,2)
for i in list1:
if i+i==target:
r.append(list(i))
if len(r)==1:
return r
return r
print(fun(l,9))
铁棍阿童木
发表于 2017-11-25 20:50:09
本帖最后由 铁棍阿童木 于 2017-11-25 20:52 编辑
# 首先定义列表
mylist =
# 由用户自行输入目标数值
while True:
try:
target = int(input("请输入目标数值:"))
break
except TypeError:
print("输入错误,必须输入整数!")
def fun(mylist, target):
# 创建空列表,用来存放符合条件的元素组成的二级列表
obj_list = []
# 创建空列表,用来存放已经计算过的数值
repeat = []
# 获得列表长度范围,启动for循环进行比对计算
list_len = len(mylist)
for x in range(list_len):
# 如果两数的差在mylist列表,
# 如果两数的差不在repeat列表,同时两数的差不等于自身,则执行添加操作
if (target - mylist) in mylist:
if (target - mylist) not in repeat and (
target - mylist) != mylist:
temp_list = list((mylist,(target - mylist)))
obj_list.append(temp_list)
repeat.append(mylist)
return obj_list
wc365
发表于 2017-11-26 00:09:11
def fun(mylist,target):
list_result = []
for i in mylist:
for j in mylist:
if i+j == target:
list_result.append()
return list_result
Q爸爸
发表于 2017-11-27 15:58:39
def fun(mylist,target):
result = []
mylist.sort()
high = target - mylist
list1 = mylist[:mylist.index(high)+1]
len1 = 0
len2 = -1
whilelist1-list1:
if target-list1==list1:
result.append(,list1])
len1 += 1
len2 -= 1
continue
elif target-list1 > list1:
len1 += 1
continue
elif target-list1 < list1:
len2 -= 1
continue
if len(result) == 1:
return result
else : return result
776667
发表于 2017-11-27 16:37:26
def fun(mylist,target):
result_list = []
for x in mylist:
for y in mylist:
if x + y == target and x != y and sorted() not in result_list:
result_list.append(sorted())
return result_list
shigure_takimi
发表于 2017-11-27 16:40:02
本帖最后由 shigure_takimi 于 2017-11-27 17:30 编辑
做出来有重复,删了重做。
sunnychou
发表于 2017-11-28 09:32:54
本帖最后由 sunnychou 于 2017-11-28 09:36 编辑
def fun(mylist, target):
c = []
if mylist == []:
return []
for i in mylist:
if (target - i) in mylist:
c.append()
mylist.remove(i)
mylist.remove(target - i)
if len(c) == 2:
return c
else:
return c
mylist =
print(fun(mylist, 9))
sunnychou
发表于 2017-11-28 09:42:59
def fun(mylist, target):
c = []
if mylist == []:
return []
for i in mylist:
if (target - i) in mylist:
c.append()
mylist.remove(i)
mylist.remove(target - i)
if len(c) == 1:
return c
else:
return c
shigure_takimi
发表于 2017-11-28 11:01:52
def fun(mylist,target):
listForCheck = []
listForReturn = []
for i in mylist:
mylist.remove(i)
if target - i in mylist and i not in listForCheck and target - i not in listForCheck:
listForReturn.append()
listForCheck.append(i)
listForCheck.append(target - i)
return listForReturn
print(fun(,9))
PYTHON90小菜鸟
发表于 2017-12-29 09:55:06
def fun(mylist,target):
temps={}
for i in range(len(mylist)-1):
for j in range(i+1,len(mylist)):
if (mylist+mylist)==target:
dict_0={mylist:mylist}
temps.update(dict_0)
temps=list(temps.items())
for m in range(len(temps)):
temps=list(temps)
return temps
mylist=
target=9
result=fun(mylist,target)
print(result)
graceasyi
发表于 2018-1-17 17:33:11
def fun(mylist, target):
out = []
for i in range(len(mylist)):
for j in range(i + 1, len(list1)):
if mylist + mylist == target:
out.append(, mylist])
return out
list1 =
goal = 9
print(fun(list1, goal))
塔利班
发表于 2018-2-9 22:34:20
def find(list,tar):
L=[]
for i in list:
for j in list:
if i<j and i+j==tar:
L.append()
return L
tar=9
a=
print(find(a,tar))
新手潘包邮
发表于 2018-5-6 08:50:02
solomonxian 发表于 2017-11-20 20:53
两两组合,没有重复的列表···故意的嘛
手动做的话,嵌套循环是笛卡尔积,
自己加自己是没有想到的
新手潘包邮
发表于 2018-5-6 09:01:30
def fun(mylist, target):
outlist = []
for each in mylist:
if target - each in mylist:
outlist.append()
mylist.remove(each)
mylist.remove(target - each)
return outlist
fun(, 9)
咕咕鸡鸽鸽
发表于 2019-3-18 20:26:57
from itertools import permutations as per
def fun126(list1,tar):
return list(set())
list1 =
print(fun126(list1,9))
永恒的蓝色梦想
发表于 2019-8-18 13:07:18
不很符合要求,返回的是元素为元组的集合,而且即使只有一个也会返回集合内元组的形式……def func(lis,num):return {tuple(sorted((i,j)))for i in lis for j in lis if i+j==num and i!=j}func(,9)#{(2, 7), (-3, 12), (4, 5)}