Python - преобразование списка

Чтобы развернуть несколько ответов, да, вы можете удалить следующий файл из файла .csproj:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

, и это устраняет проблему, однако в моем случае я заметил, что у меня были дополнительные ссылки на .NET.Compilers и .CodeDom.Providers с разными версиями:

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.0.1
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\

Когда мой файл package.config ссылался только на следующее:

<package id="Microsoft.Net.Compilers" version="2.0.1"
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.3"

Удаление элементов 1.0.0 из файла .csproj устраняет проблему.

27
задан sth 13 March 2009 в 17:50
поделиться

6 ответов

Можно использовать понимание списка (Python 2.6 +):

y = ["{0:0>2}".format(v) for v in x]

Или для Python до 2,6:

y = ["%02d" % v for v in x]

Редактирование: Пропущенный то, что Вы хотели дополнение нуля...

41
ответ дан DNS 14 October 2019 в 13:03
поделиться

Вы хотите использовать встроенное map функция:

>>> x = [1,2,3,4,5]
>>> x
[1, 2, 3, 4, 5]
>>> y = map(str, x)
>>> y
['1', '2', '3', '4', '5']

РЕДАКТИРОВАНИЕ Вы изменили требования ко мне! Чтобы заставить его отобразить начальные нули, Вы делаете это:

>>> x = [1,2,3,4,5,11]
>>> y = ["%02d" % v for v in x]
>>> y
['01', '02', '03', '04', '05', '11'] 
19
ответ дан Paolo Bergantino 14 October 2019 в 13:03
поделиться

Я использовал бы понимание списка сам, но здесь являюсь другим решением с помощью карты для заинтересованных...

map(lambda v: "%02d" %v, x)
7
ответ дан Brian R. Bondy 14 October 2019 в 13:03
поделиться

получить 0:

y = ['%02d' % i for i in x]
0
ответ дан Jason Coon 14 October 2019 в 13:03
поделиться
y = ['%02d'%v for v in x]
1
ответ дан Angela 14 October 2019 в 13:03
поделиться

Альтернатива строкам формата должна была бы использовать zfill строки () метод:

y = [str(i).zfill(2) for i in x]

Другая вещь: Вы могли бы после дополнять на основе самого большого объекта в списке, таким образом, вместо того, чтобы просто использовать 2, Вы могли сделать:

pad_length = len(str(max(x)))
y = [str(i).zfill(pad_length) for i in x]
0
ответ дан 14 October 2019 в 13:03
поделиться
Другие вопросы по тегам:

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