python隨機排列list
A. python對隨機數排序
import random
num_list = []
for i in range(5):
num_list.append(random.randint(1, 20))
print('排序後的數組為', sorted(num_list))
B. 怎麼樣用python做個程序!生成一個隨機數構成的列表
概述
利用python的random包和list列表
代碼詳解
首先導入random包
這里選擇獲取鍵入的數值來作為隨機列表的長度和隨機列表的取值范圍
由於python支持表達式作參數這里簡寫了一點
import random
length = int(input("請輸入你需要獲得的列表長度"))
co = eval(input("請輸入需要產生的隨機數的個數:"))
min = eval(br.split(',')[0])
max = eval(br.split(',')[1])
ranlist=[random.randint(min,max) for i in range(length)]
#out
描述
random()方法返回隨機生成的一個實數,它在[0,1)范圍內。
語法
以下是 random() 方法的語法:
import random
random.random()
注意:random()是不能直接訪問的,需要導入 random 模塊,然後通過 random 靜態對象調用該方法。
參數無
返回值返回隨機生成的一個實數,它在[0,1)范圍內。
C. python 怎麼從集合中隨機數
舉例說明:從集合中隨機獲得10個數
1、定義一個列表集合iRandom = []
2、向iRandom中插入1-60,共60個數字
3、打亂列表順序
4、截取列表前10個數,即為隨機獲取到的列表集合隨機數
importrandom
iRandom=[]#定義隨機數列表
listRandom=list(range(1,61))#生成整數型1-60的列表組合
random.shuffle(listRandom)#打亂列表順序
iRandom=listRandom[0:10]#截取打亂後的前10個值,賦值給新列表iRandom
print('隨機列表組合:',iRandom)
D. python怎麼隨機取列表的值
第一步:
我分析如果從一堆數里隨機抽取幾個,並且按原來的順序輸出的話,那麼至少要隨機兩次才能完成,第一次隨機的值是確定隨機幾個數,第二次隨機是確定隨機的值。
第二步:
隨機抽取幾個可以用random.randint(1,n)這個函數來實現,這個n代表所要隨機列表的長度。
第三步:
上一步出來一個數決定此次隨機出幾個值出來,現在假定是n,再次隨機就是從列表裡隨機抽取n個值這個可以用random.sample(dict,n)這個方法實現,這個函數可以傳入一個字典,和一個數字返回一個列表。
第四步:
得到的結果需要按原來的順序輸出,那麼存儲就需要考慮用dict了,因為字典的k-v特性可以實現找到原來的順序,我具體的實現如下:
importrandom
#random_number(a)函數的功能傳入一個數,返回1到這個數的隨機數
defrandom_number(a):
returnrandom.randint(1,a)
#print(random_number(4))
#random_list(a,b)函數的功能,傳入一個字典a,和一個數值b,
#1<=b<=a的長度,返回一個擁有b的個數值是a中的key值的list
defrandom_list(a,b):
returnrandom.sample(list(a),b)
a={1:'a',2:'j',3:'g',4:'h',5:'k',6:'i',7:'l',8:'f',9:'v',10:'b',11:2,12:5,13:'x'}
b=len(a)
#print(random_list(a,b))
#random_dictvalue函數的功能,傳入一個字典a和一個列表b,返回以b為key,a中對應的value的值
defrandom_dictvalue(a,b):
b.sort()
foriinb:
print(a.get(i),end='')
print(random_dictvalue(a,random_list(a,random_number(b))))
#result
>>>================================RESTART================================
>>>
afNone
>>>================================RESTART================================
>>>
giNone
>>>================================RESTART================================
>>>
ajhlvb25xNone
E. Python隨機生成列表
舉例說明:從集合中隨機獲得10個數
1、定義一個列表集合iRandom = []
2、向iRandom中插入1-60,共60個數字
3、打亂列表順序
4、截取列表前10個數,即為隨機獲取到的列表集合隨機數
import random iRandom = [] #定義隨機數列表listRandom = list(range(1,61)) #生成整數型1-60的列表組合random.shuffle(listRandom) #打亂列表順序iRandom = listRandom[0:10] #截取打亂後的前10個值,賦值給新列表iRandomprint('隨機列表組合:',iRandom)
F. Python list 整理 和排序的問題。
可以用
list.sort(key = int)
key的最用相當於構建值,列表中的每個值實際上會轉變為key(value),上例則為 int(value)
也就是 ['1','2','11','22'].sort(key = int)相當於[int('1'),int('2'),int('11'),int('22')].sort()
key可以理解為用於list comprehension的函數 ['1','2','11','22'].sort(key = int) 相當於
[int(x) for x in ['1','2','11','22'] ].sort()
G. python對於隨機輸入的數放進List的小白問題
L = []
i = 0
while items != "P" :
print(i+1, ".", end="")
items=raw_input()
i+=1
L.append(items)
print(L)
H. python怎麼生成list的所有元素的組合
生成排列可以用proct:
from itertools import proct
l = [1, 2, 3]
print list(proct(l, l))
print list(proct(l, repeat=4))
組合的話可以用combinations:
from itertools import combinations
print list(combinations([1,2,3,4,5], 3))
下面是我以為沒有combinations然後自己寫的,沒有itertools的python(2.6以下)可供參考。
import
def combine(l, n):
answers = []
one = [0] * n
def next_c(li = 0, ni = 0):
if ni == n:
answers.append(.(one))
return
for lj in xrange(li, len(l)):
one[ni] = l[lj]
next_c(lj + 1, ni + 1)
next_c()
return answers
print combine([1, 2, 3, 4, 5], 3)
輸出:
[[1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 3, 4], [1, 3, 5], [1, 4, 5], [2, 3, 4], [2, 3, 5], [2, 4, 5], [3, 4, 5]]
I. python list排序問題
db.Account.find().sort([("UserName",pymongo.ASCENDING),("Email",pymongo.DESCENDING)])
J. python list隨機賦值取值與排列的問題
需要2次運行顯示同樣劫奪 需要指定隨機種子(seed)
import random
random.seed(123456789)
list=[]
N = random.randint(2,101)
while(len(list)!=N):
list.append(random.randint(1, 2**31-1))
print sorted(list)