如何解决从列表填充数据
l = [11.1,22.2,33.3,11.1,55.5]
每个项目都是11.1的倍数,列表的长度是8。
我想生成另一个包含30个项的列表,其值分别为11.1、22.2、33.3、55.5
出现在原始列表l
中。
我想知道如何从列表l
到l_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]
生成版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。