微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从列表填充数据

如何解决从列表填充数据

我有一个包含以下项目的列表

l = [11.1,22.2,33.3,11.1,55.5]

每个项目都是11.1的倍数,列表的长度是8。 我想生成一个包含30个项的列表,其值分别为11.1、22.2、33.3、55.5 出现在原始列表l中。

我想知道如何从列表ll_new填充数据。

解决方法

您可以使用random模块来做到这一点:

import random

l = [11.1,22.2,33.3,11.1,55.5]

l_new = [random.choice(l) for _ in range(0,30)]
print(l_new)

#OUTPUT:
#[11.1,55.5,22.2]

l_new = random.choices(l,k=30)
print(l_new)

#OUTPUT:
#[11.1,22.2]

第一个解决方案l_new = [random.choice(l) for _ in range(0,30)]使用列表理解和random.choice()函数,它们为每次迭代从l中选择一项。

第二个解决方案l_new = random.choices(l,k=30)仅调用choices()函数并使其生成列表,您必须指定k,这是要选择的元素数。


还有另一种方法需要numpy模块:

import numpy

l = [11.1,55.5]

l_new = list(numpy.random.choice(l,size=30))
print(l_new)

#OUTPUT:
#[11.1,22.2]

该列表由numpy.random.choice

生成

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。