Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
列表中的随机元素-Python_Python_Random_While Loop - Fatal编程技术网

列表中的随机元素-Python

列表中的随机元素-Python,python,random,while-loop,Python,Random,While Loop,所以我的函数RandList(n)应该返回一个包含n个元素的列表。但是,当我运行它时,它会给我2*n列表L中的元素。有人能帮我吗?提前谢谢 import random def randList(n): counter = 0 L =[] while counter < n: L += str(random.randrange(0,100)) counter += 1 return L print randList(1) print randList(5)

所以我的函数RandList(n)应该返回一个包含n个元素的列表。但是,当我运行它时,它会给我2*n列表L中的元素。有人能帮我吗?提前谢谢

import random

def randList(n):
  counter = 0
  L =[]
  while counter < n:
    L += str(random.randrange(0,100))
    counter += 1
  return L

print randList(1)
print randList(5)
print randList(10)
随机导入
定义列表(n):
计数器=0
L=[]
当计数器
您应该使用
追加

当您执行
list+=string
操作时,实际上是将字符串的所有字符添加为列表中的独立元素。(
[]+'hello'-->['h','e','l','l','o']

正确代码

import random

def randList(n):
    counter = 0
    L =[]
    while counter < n:
        L.append(str(random.randrange(0,100)))
        counter += 1
    return L

print randList(1)
print randList(5)
print randList(10)
随机导入
定义列表(n):
计数器=0
L=[]
当计数器
您应该使用
追加

当您执行
list+=string
操作时,实际上是将字符串的所有字符添加为列表中的独立元素。(
[]+'hello'-->['h','e','l','l','o']

正确代码

import random

def randList(n):
    counter = 0
    L =[]
    while counter < n:
        L.append(str(random.randrange(0,100)))
        counter += 1
    return L

print randList(1)
print randList(5)
print randList(10)
随机导入
定义列表(n):
计数器=0
L=[]
当计数器
当您执行
L+=str(random.randrange(0100))
时,Python解释器意识到
str(random.randrange(0100))
是一个iterable,所以它将其中的所有元素(所有字符,因为它是一个字符串)添加到
L

尝试
L+=[str(random.randrange(0100))]
L.append(str(random.randrange(0100))

最终代码:

def randList(n):
    counter = 0
    L = []
    while counter < n:
        L += [str(random.randrange(0,100))]
        counter += 1
    return L
def随机列表(n):
计数器=0
L=[]
当计数器
当您执行
L+=str(random.randrange(0100))
时,Python解释器意识到
str(random.randrange(0100))
是一个iterable,所以它将其中的所有元素(所有字符,因为它是一个字符串)添加到
L

尝试
L+=[str(random.randrange(0100))]
L.append(str(random.randrange(0100))

最终代码:

def randList(n):
    counter = 0
    L = []
    while counter < n:
        L += [str(random.randrange(0,100))]
        counter += 1
    return L
def随机列表(n):
计数器=0
L=[]
当计数器
在比较(求和、乘法…)非齐次类型时,请务必注意。
frostnational和sshashank124解释了代码失败的原因。
以下是两个较短的解决方案(取决于您的用例):

请注意,这些列表不包含字符串,但您可以轻松调整代码。

还请注意,lr是一种非齐次类型。

在比较(求和、乘法…)非齐次类型时,请务必注意。
frostnational和sshashank124解释了代码失败的原因。
以下是两个较短的解决方案(取决于您的用例):

请注意,这些列表不包含字符串,但您可以轻松调整代码。

还要注意,lr是一个。

你能修复你的缩进吗?@Louis,啊,是的,对不起。完成。谢谢你,你能修好你的压痕吗?@Louis,啊,是的,对不起。完成。非常感谢。