Pythonケース001(4つの数字:1、2、3、4があり、互いに異なり、重複していない3桁の数を構成することができます)...
1853 ワード
テーマの内容はネットから来て、個人の理解の過程に参加して、評論と
転載先:https://www.cnblogs.com/TendToBigData/p/10501231.html
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#Author : Wumi
# : :1、2、3、4, ? ?
# : 、 、 1、2、3、4。 。
# ,
num =[] # list
for i in range(1,5): # range
for j in range(1,5):
for k in range(1,5):
if i!=j and i != k and j!=k :
print i,j,k
print k,j,i # reverse num
num.append([i,j,k])
print "how many num we have of the permutation and combination :",len(num) # 24
# big tall up
# for if ,
lists =[ (i*100+10*j+k) for i in range(1,5) for j in range(1,5) for k in range(1,5) if ( i!=j and i !=k and j!=k )]
print len(lists)
print len(lists),":",lists
# use set function to remove the duplicate numbers ,set
# one important tips is that the alphabet can uses join function +
alphabetList = ['1','2','3','4']
numberList = [ int(i+j+k) for i in alphabetList for j in alphabetList for k in alphabetList if (len(set(i+j+k)) ==3)]
print numberList ,":",len(numberList)
# question is why i != k and != j ? ?? 111 or 122
# here is the core reason ::
lists =['1','2','3']
for i in lists:
for j in lists:
print set(i+j) # add memeber into set using plus + ---> set(['1', '2']) ,no replicate data
print int(i+j)
"""
set(['1'])
11
set(['1', '2'])
12
set(['1', '3'])
13
set(['1', '2'])
21
set(['2'])
22
set(['3', '2'])
23
set(['1', '3'])
31
set(['3', '2'])
32
set(['3'])
33
"""
転載先:https://www.cnblogs.com/TendToBigData/p/10501231.html