3

Pythonでそれを行う方法に関する提案はありますか?

if x():
  a = 20
  b = 10
else:
  a = 10
  b = 20

以下のようにそれらを交換できますが、それほど明確ではありません(非常にpythonic IMOでもありません)

a = 10
b = 20
if x():
  [a, b] = [b, a]
4

2 に答える 2

11
(a,b) = (20,10) if x() else (10,20)
于 2013-03-19T21:22:40.120 に答える
5

で値を交換することは、Python では慣用的a, b = b, aと見なされます。

a, b = 10, 20
if x(): a, b = b, a

これについての良い点の 1 つは、10and20を繰り返さないことです。つまり、少しDRY-erです。

于 2013-03-19T21:23:09.963 に答える