python基础的练习题1道

题目1:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

 

import  itertools
list5=[1,2,3,4]
newiter=itertools.permutations(list5,3)      #这个能满足要求,A(4,3)=(4)!/(4-3)!=4*3*2*1/1
for i in newiter:
    print(i)

'''
(1, 2, 3)
(1, 2, 4)
(1, 3, 2)
(1, 3, 4)
(1, 4, 2)
(1, 4, 3)
(2, 1, 3)
(2, 1, 4)
(2, 3, 1)
(2, 3, 4)
(2, 4, 1)
(2, 4, 3)
(3, 1, 2)
(3, 1, 4)
(3, 2, 1)
(3, 2, 4)
(3, 4, 1)
(3, 4, 2)
(4, 1, 2)
(4, 1, 3)
(4, 2, 1)
(4, 2, 3)
(4, 3, 1)
(4, 3, 2)
'''

 

【编程小结】

1、复制list的注意事项

mlist=[1,2,3,5]
tlist=mlist.copy()      #说明:这里tlist与mlist分别指向两个对象(把mlist指向的对象copy一份,tlist指向copy对象)
i=tlist.pop(0)          
print('tlist', tlist)   #tlist [2, 3, 5]
print('mlist', mlist)   #mlist [1, 2, 3, 5]

mlist=[1,2,3,5]
tlist=mlist            #若用tlist=mlist,则tlist指向和mlist一样
i=tlist.pop(0)
print('tlist', tlist)   #tlist [2, 3, 5]
print('mlist', mlist)   #mlist [2, 3, 5]

 2、python中itertools的使用,参照:http://www.10qianwan.com/articledetail/35968.html

posted @ 2020-03-27 17:34  幸福在今天  阅读(170)  评论(0)    收藏  举报