python 从列表中随机选择_从python的类列表中随机选择x个项目

1586010002-jmsa.png

In jython, I have a class of objects defined like this:

class Item:

def __init__(self, pid, aisle, bay, hits, qtyPerOrder):

self.pid = pid

self.aisle = int(aisle)

self.bay = bay

self.hits = int(hits)

self.qtyPerOrder = int(qtyPerOrder)

I have created a class list called "list" of the items in the class with 4000~ lines that look like this:

'PO78141', 13, ' B ', 40

I'm trying to randomly select a number within the range of 3 and 20 called x. Then, the code will select x number of lines in the list.

For example: if x = 5 I want it to return:

'PO78141', 13, ' B ', 40

'MA14338', 13, ' B ', 40

'GO05143', 13, ' C ', 40

'SE162004', 13, ' F ', 40

'WA15001', 13, ' F ', 40

EDIT

Ok, that seems to work. However, it is returning this . how do i get it to return it in the format above?

解决方案

You can use the random module to both pick a number between 3 and 20, and to take a sample of lines:

import random

sample_size = random.randint(3, 20)

sample = random.sample(yourlist, sample_size)

for item in sample:

print '%s, %d, %s, %d' % (item.pid, item.aisle, item.bay, item.hits)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值