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)