第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用假設(shè)從給定列表生成可變大小的列表?

如何使用假設(shè)從給定列表生成可變大小的列表?

眼眸繁星 2023-03-30 09:51:28
對(duì)于基于屬性的測(cè)試,給定一個(gè)固定的值列表,我需要生成一個(gè)可變大小的列表,其中順序很重要并且允許重復(fù)。例如,如果我的固定列表是texts = ['t1', 't2', 't3', 't4']我想生成不同的變體,例如['t2']['t4', 't1'] # Subset and different order[]['t3', 't1', 't2'] # Different order['t4', 't4', 't4', 't1'] # Repetition of t4['t1', 't2', 't1'] # Repetition but at different location['t1', 't2']['t2', 't1'] # different order from the one above and considered different.我目前設(shè)法使用的是permutations策略from hypothesis import given, strategies as st@given(st.permutations(texts))def test_x(some_text):   ...   pass但這并沒(méi)有給我可變大小,重復(fù)其他需求:如何指定最大變量列表為 20?
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊

lists您正在尋找和策略的組合sampled_from

from hypothesis import strategies as st


texts = ['t1', 't2', 't3', 't4']

lists_from_texts = st.lists(st.sampled_from(texts), max_size=20)


...


@given(lists_from_texts)

def test_x(some_text):

? ? ...

或者如果您希望能夠更改不同測(cè)試的源列表:


from typing import List



def lists_from_texts(source: List[str]) -> st.SearchStrategy[List[str]]:

? ? return st.lists(st.sampled_from(source), max_size=20)


...


@given(lists_from_texts(texts))

def test_x(some_text):

? ? ...


查看完整回答
反對(duì) 回復(fù) 2023-03-30
?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

由于您最多需要 20 個(gè)項(xiàng)目,因此生成一個(gè)從 1 到 20 的隨機(jī)數(shù):


import random

size = random.randint(1,20)

然后使用該數(shù)字從源列表中進(jìn)行 N 次獨(dú)立選擇:


texts = ['t1', 't2', 't3', 't4']

random_texts = []

for _ in range(size):

    random_texts.append(random.choice(texts))


查看完整回答
反對(duì) 回復(fù) 2023-03-30
  • 2 回答
  • 0 關(guān)注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)