列表中的Python项目仍然是列表?

时间:2017-12-23 17:16:29

标签: python list loops

我正在尝试创建一个短脚本,其中选择了可用列表中的5个随机数,然后显示每个。我遇到的问题是我追加结果的列表也会返回一个列表,而不是整数或字符串。这是代码:

def randomStar(self):
    choice = [5,4,3]
    probability = [0.1, 0.2, 0.7]
    star = random.choices(choice, probability)
    return star

multi = []
characters = []
for x in range(5):
    star = randomStar(x)
    multi.append(star)
    x += 1

for star in multi:
    characters.append(star)
print (characters)
print (multi)

多个和字符列表都返回:

['[3]', '[3]', '[3]', '[5]', '[3]']

因此,当我尝试遍历“Multi”列表时,我仍然会获得列表。我怎样才能获得这些值?或者我将数字附加到列表中的方式不正确?

感谢。

1 个答案:

答案 0 :(得分:2)

它们是列表,因为return star[0]返回" k大小的元素列表"。

由于列表中只有一个元素,而这正是您要返回的内容,您只需要编写import scipy # Read the .wav file sample_rate, data = scipy.io.wavfile.read('directory_path/file_name.wav') # Spectrogram of .wav file sample_freq, segment_time, spec_data = signal.spectrogram(data, sample_rate) # Note sample_rate and sampling frequency values are same but theoretically they are different measures