我的目標是能夠生成由 3 個變量組成的隨機元組。2 是 float(x,y 坐標),最后一個是字符串。每個元組的格式應該是 (float, float, string)。我很確定 x,y 很簡單,但我不確定是否可以生成一個字符串作為第三個參數。字符串應該是一個集合內的隨機選擇。例如,假設我有一個字符串列表["one", "two" , "three"]。我希望我生成的元組由兩個隨機浮點數和該集合中的一個字符串組成。我在想類似于下面這個代碼的東西[(randint(0, 180), randint(0, 180)) for _ in range(100)]再次澄清我只是想弄清楚是否有可能將集合中的字符串添加為我的元組中的第三個變量
3 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
使用random.choice
import random
strings = ['one', 'two', 'three']
[(random.randint(0, 180), random.randint(0, 180), random.choice(strings)) for _ in range(100)]

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
[(randint(0, 180), randint(0, 180)) for _ in range(100)]
這不會生成隨機浮點數,而是生成隨機整數,如函數名稱所示。反而:
[(uniform(0, 180), uniform(0, 180), choice(["one,"two","three"]) for _ in range(100)]
筆記:
random.uniform 生成范圍內的隨機浮點數(0,180)
random.choice 從 ["one","two","three"] 中隨機選擇一個元素

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
您可以獲得字符串列表索引的隨機數,并使用它來獲取隨機字符串
list_of_strings = ["one", "two" , "three"]
print [(randint(0, 180), randint(0, 180), list_of_strings[randint(0, len(list_of_strings) -1 )]) for _ in range(100)]
添加回答
舉報
0/150
提交
取消