关于Python2与Python3中的range

Python2中用range函数编写一个有序列表,用random.shuffle()函数,打乱原有顺序的列表

import random
a=range(10)

random.shuffle(a)
print a
此时输出结果为: [7,8,9,4,6,2,0,1,3,5]

Python3中用range函数返回一个可迭代对象(类型是对象),而不是列表类型,因此如果用range函数的话,需要用到list()函数. list()函数是对象迭代器,可以吧range()返回的可迭代对象转为一个列表,返回的变量类型为列表.

import random
a = list(range(10))
random.shuffle(a)
print(a)
此时输出结果为: [0,9,7,3,5,1,6,8,2,4]

注:错误用法

import random
a = range(10)
random.shuffle(a)
print(a)
此时输出结果为: None

总结:Python2中的range函数返回的是一个列表,Python3中的range函数返回的是一个可迭代对象,这点是主要差别,因此要用random.shuffle()函数,需要调用list(),将对象装化为列表形式.
random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱

猜你喜欢

转载自blog.csdn.net/qq_42796939/article/details/84189173