В чем разница между методами списков Python, добавляющими и расширяющими?

Добро пожаловать в ад.

Вы можете просто передать объект datetime64 в pandas.Timestamp:

In [16]: Timestamp(numpy.datetime64('2012-05-01T01:00:00.000000'))
Out[16]: <Timestamp: 2012-05-01 01:00:00>

Я заметил, что это не работает правильно, хотя в NumPy 1.6. 1:

numpy.datetime64('2012-05-01T01:00:00.000000+0100')

Также можно использовать pandas.to_datetime (это отключено от версии dev, не проверено v0.9.1):

In [24]: pandas.to_datetime('2012-05-01T01:00:00.000000+0100')
Out[24]: datetime.datetime(2012, 5, 1, 1, 0, tzinfo=tzoffset(None, 3600))
3119
задан dreftymac 21 May 2019 в 17:18
поделиться

3 ответа

append : Добавляет объект в конце.

x = [1, 2, 3]
x.append([4, 5])
print (x)

дает Вам: [1, 2, 3, [4, 5]]

<час>

extend : Расширяет список путем добавления элементов от повторяемого.

x = [1, 2, 3]
x.extend([4, 5])
print (x)

дает Вам: [1, 2, 3, 4, 5]

4883
ответ дан Peter Mortensen 21 May 2019 в 17:18
поделиться

append добавляет единственный элемент. extend добавляет список элементов.

Примечание, что при передаче списка для добавления, оно все еще добавляет один элемент:

>>> a = [1, 2, 3]
>>> a.append([4, 5, 6])
>>> a
[1, 2, 3, [4, 5, 6]]
115
ответ дан Greg Hewgill 21 May 2019 в 17:18
поделиться
  • 1
    I' m говорящий это, когда Вы делаете покрытие кода метрикой тогда it' s просто обруч тот разработчики переходят через. Они могут они говорить " Посмотрите, у нас есть 100%-е покрытие! " когда в действительности то, что Вы хотите, является каждой отличной частью логики для имения отдельных модульных тестов, которые проверяют его. Это намного более важно, чем coverge – SCdF 9 October 2008 в 22:18

append добавляет, что элемент к списку, и extend связывает первый список с другим списком (или другой повторяемый, не обязательно список.)

>>> li = ['a', 'b', 'mpilgrim', 'z', 'example']
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']

>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new']

>>> li.append(["new", 2])
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new', ['new', 2]]

>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', ['new', 2]]

>>> li.extend(["two", "elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', ['new', 2], 'two', 'elements']

От Погружение в Python .

601
ответ дан 林果皞 21 May 2019 в 17:18
поделиться
  • 1
    Я сильно привел бы доводы против этого. Покрытие просто означает you' ve выполнил ту строку, и таким образом это должно скомпилировать. Это doesn' t говорят любого это it' s относящийся к тесту или этому it' s корректный. – SCdF 9 October 2008 в 22:14
Другие вопросы по тегам:

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