Comma в обратном значении вызова функции [duplicate]

В Swift 4

let array:[String] = ["Apple", "Pear ","Orange"]

array.joined(separator: " ")
9
задан user2418838 23 March 2014 в 06:43
поделиться

3 ответа

plt.plot возвращает список объектов Line2D, нанесенных на график, даже если вы построили только одну строку.

Эта запятая распаковывает одно значение в line.

ex

a, b = [1, 2]
a, = [1, ]
9
ответ дан tacaswell 22 August 2018 в 12:06
поделиться

Возвращаемое значение функции является кортежем или списком, содержащим один элемент, и этот синтаксис «распаковывает» значение из кортежа / списка в простую переменную.

2
ответ дан kindall 22 August 2018 в 12:06
поделиться

Метод plot возвращает объекты, содержащие информацию о каждой строке в графике в виде списка. В python вы можете развернуть элементы списка с запятой. Например, если вы построили две строки, вы должны сделать:

line1, line2 = plt.plot(x,y,'-',x,z,':')

Где line1 будет соответствовать x,y, а строка2 соответствует x,z. В вашем примере есть только одна строка, поэтому вам нужна запятая, чтобы сообщить ей о расширении списка из 1 элемента. То, что у вас есть, эквивалентно

line = plt.plot(x,y,'-')[0]

или

line = ply.plot(x,y,'-')
line = line[0]

Ваш код должен работать, если вы опустите запятую, только потому, что вы не используете line. В вашем простом примере plt.plot(x,y,'-') будет достаточно.

6
ответ дан SethMMorton 22 August 2018 в 12:06
поделиться
  • 1
    Он возвращает list, а не tuple – tacaswell 24 May 2013 в 21:10
  • 2
    @tcaswell ОК, но это не меняет ответ – SethMMorton 24 May 2013 в 21:11
  • 3
    нет, но нет причин писать что-то фактически неверно. В других случаях это может иметь значение, если вы хотите сделать что-то более интересное со списком возвращаемых объектов Line2D. – tacaswell 24 May 2013 в 21:13
  • 4
    @tcaswell Я не писал кортеж, чтобы быть намеренно фактически неправильным, просто честная ошибка :). Я отредактировал его, чтобы сказать список сейчас. – SethMMorton 24 May 2013 в 21:15
  • 5
    Я предположил, что это была ошибка, поэтому я оставил комментарий, а не просто его редактировал. Извините, если я наткнулся на него как обвинительный. – tacaswell 24 May 2013 в 21:18
Другие вопросы по тегам:

Похожие вопросы: