如何在python中向数组添加多个单词

时间:2014-04-19 19:02:11

标签: python arrays python-2.7 append

感谢所有的建议这真的有帮助,我做了适当的调整。现在只有最后一个问题,当我输入出现在数组中的单词时,它们实际上作为单独的字母出现在数组中。例如,如果数组中输入的单词 football ,则显示为“ f o '' o '' t '' b '' a '' l '' l ”。因此,当选择一个字母而不是随机选择的单词时,

我的代码片段来自刽子手游戏

import random


SIX_NATIONS = ["WALES", "SCOTLAND", "ENGLAND", "FRANCE", "ITALY", "IRELAND"]

New_Topic = []

New_Topic_Choice = raw_input("Would you like to create your own topic? yes/no")

if New_Topic_Choice == "yes":

    Topic_Name = raw_input("What would you like the topic name to be: ")
    Topic_Words = raw_input("Enter all the words that you would like to appear in the array: ")
    str.split(Topic_Words)
    New_Topic.extend(Topic_Words)
    Word = random.choice(New_Topic)


else:
    Word = random.choice(SIX_NATIONS)

提前感谢您的回复。

P.S这个版本的Python是2.7

2 个答案:

答案 0 :(得分:1)

我相信您要查找的函数是list.extend()而不是list.append()扩展,而不是追加将另一个列表的元素添加到列表中,而不是将列表本身附加到原始列表

作为其他答案状态之一,为了拆分从raw_input()获得的字符串,您必须使用split()函数,该函数将字符串作为用作分隔符的参数(

:创建一个字符串列表,你可能希望成为一个空格字符

Python文档:

  1. https://docs.python.org/2/tutorial/datastructures.html
  2. https://docs.python.org/2/library/stdtypes.html

答案 1 :(得分:0)

您的变量New_Topic_Words是原始输入,通常是python中的字符串。将此字符串添加到列表New_Topic时的结果是只包含一个元素的列表,即原始字符串。

如果要添加原始字符串的每个单词,则需要拆分原始字符串:split_words = New_Topic_Words.split(' '),然后使用New_Topic.extend(split_words)将每个单词添加为列表元素。

您使用的append只添加了一个元素,因此添加了一个列表作为最后一个元素。你需要的是extend,它连接两个列表。