0

Python の知識に少し問題があります (初心者  )。私がやろうとしているのは、文字列のリストを変数に入力することです。次に、リストをループしてリストからいくつかの文字列を返すためにいくつかのことを行う必要があります。

問題は、リストを変数に入力する方法がわからないことです。

これが私が試したコードです:

x=[]
x=(input('Please enter a list of strings: '))

...そして、それが文字列のリストを持つ変数になると['car', 'house', 't-shirt', 'bicycle', 'images']仮定して入力しましたが、そうではありません。x

助けてください。どうも!

4

4 に答える 4

3

Python 3 を使用していると仮定します (これが Python 2 コードの場合、問題があります)。

ドキュメントから:

input(...): ... 次に、この関数は入力から行を読み取り、それを文字列に変換して (末尾の改行を取り除きます)、それを返します。

したがって、input()文字列を返します。リストでも何でもない。

もちろん、最後からsplit()カンマやstrip()'[' や ']' のような文字列を使用することもできます。

于 2012-11-16T12:17:56.567 に答える
2

Python 3.xを使用していると仮定しています。リストを入力しようとしている場合は、入力してinputもデータが文字列として扱われると思います['car', 'house', 't-shirt', 'bicycle', 'images']

これを試して、データをリストに変換できます。

str_x = input('Please enter a list of strings: '))
x = [s.strip() for s in str_x[1:-1].split(',')]   # String to List conversion
于 2012-11-16T12:27:41.810 に答える
0

これを行う別の方法は次のとおりです。

>>> x=input('Please enter a list of strings: ').split(sep=', ')
Please enter a list of strings: hi, there, stack, overflow
>>> print(x)
['hi', 'there', 'stack', 'overflow']

このようにして、入力をデフォルトとして文字列として受け取るため、input() に作業を任せることができます。.split() はリストを返しますが、いつでも使用できます

x=list(input(...))

将来のバージョンで代わりにタプルを返すことにした場合に備えて。

sep を変更することもできます。つまり、コンマとスペースの代わりにコンマを使用することもできますが、独自のスタイルに依存します。

于 2013-09-05T21:04:37.377 に答える