在python中从列表中选择一些项目:请解释为什么这不起作用
我想选择列表的前4项,以便创建一个4位数字。但我做不到。请帮帮我在python中从列表中选择一些项目:请解释为什么这不起作用,python,Python,我想选择列表的前4项,以便创建一个4位数字。但我做不到。请帮帮我 import random numbers = [0,1,2,3,4,5,6,7,8,9] random.shuffle(numbers) def sayi(s): s[0:4] return s print sayi(numbers) 您应该返回切片数组,但返回的是整个数组。Slice不会修改原始数组中的项目,它会创建新数组。问题在于此行:s[0:4] 你在这里所做的实际上是创建一个新的列表,并丢失你在原始列
import random
numbers = [0,1,2,3,4,5,6,7,8,9]
random.shuffle(numbers)
def sayi(s):
s[0:4]
return s
print sayi(numbers)
您应该返回切片数组,但返回的是整个数组。Slice不会修改原始数组中的项目,它会创建新数组。问题在于此行:
s[0:4]
你在这里所做的实际上是创建一个新的列表,并丢失你在原始列表中所做的所有事情。你应该像这样返回你已经处理过的列表:
返回s[0:4]
s[0:4]
将创建一个新列表,它不会修改s
。所以,你需要返回切片列表。我看到了。非常感谢。另外,您无需指定0,只需说返回s[:4]
。
import random
numbers = [0,1,2,3,4,5,6,7,8,9]
random.shuffle(numbers)
def sayi(s):
return s[0:4]
print sayi(numbers)