1

本当に簡単な質問。私はPythonでこれをやろうとしています:

for x = str(y) in range(0,5):

y が整数を保持し、x がその整数の文字列表現を保持するようにします。私はそれをかなり簡単に2行にできることに気づきました-ショートカットが欲しいだけです。

また、私は正確に何を求めているのか興味があります。これはフォーラム全体で何億回も回答されていると確信していますが、それを見つけるために何を検索すればよいかわかりません。

4

5 に答える 5

4

簡単な方法は、次のmap()関数を使用することです。

for y in map(str, range(0, 5)):
    # ...

このmap()関数は iterable を取り、各要素を callable である最初の引数に渡します。

于 2013-03-28T18:19:55.497 に答える
4

あなたが探しています:

for x in (str(y) for y in range(0, 5)):

strこれには、リストをインスタンス化するオーバーヘッドはありません (ただし、5 つの要素ではほとんど問題になりません)。ただし、これに遭遇するたびに、通常str(y)はループの本体内で使用します。

于 2013-03-28T18:19:26.277 に答える
2

これを達成するためにリスト内包表記を使用できます。

str_list = ['%s'%(x) for x in range(0, 5)]
于 2013-03-28T18:18:28.987 に答える
1

最も可能性が高いのは、リスト内包表記を検索することです。

[(str(y),y) for y in range(0,5)]

これにより、文字列と整数のタプルがリストとして提供され、他の場合と同じようにそのリストを反復処理します

于 2013-03-28T18:20:17.540 に答える
0

実際にはコンパイルされないコードに依存しているため、質問は不明です。

for x,y in ((str(z), z) for z in range(0, 5)):
  print x, y

上記の構成は、ループの反復ごとに と を および にそれぞれxバインドしyますstrint出力は次のとおりです。

0 0
1 1
2 2
3 3
4 4
于 2013-03-28T18:22:38.463 に答える