如何生成包含字符串的随机元组

时间:2018-09-12 14:34:30

标签: python string list tuples

我的目标是能够生成由3个变量组成的随机元组。 2是float(x,y坐标),最后一个是字符串。每个元组的格式应为(float,float,string)。我很确定x,y很简单,但是我不确定是否有可能生成字符串作为第三个参数。该字符串应是集合中的随机选择。 例如,说我有一个字符串列表 [“一个”,“两个”,“三个”] 。我希望生成的元组由两个随机浮点数和该集合内的字符串之一组成。我在想类似

下面的代码的内容
sudo apt-cache search php-sqlite3 

再次澄清一下,我只是想弄清楚是否有可能将集合中的字符串添加为元组中的第三个变量

3 个答案:

答案 0 :(得分:1)

使用random.choice

import random
strings = ['one', 'two', 'three']
[(random.randint(0, 180), random.randint(0, 180), random.choice(strings)) for _ in range(100)]

答案 1 :(得分:1)

[(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从[“一个”,“两个”,“三个”]中选择一个随机元素

答案 2 :(得分:0)

您可以获取字符串列表索引的随机数,并使用它来获取随机字符串

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)]