введите сюда описание изображения
Я попытался распечатать список, используя спецификатор формата %s в PYTHON. Я думал, %s возьмет только строковое значение из списка. Почему потребовалось даже int и float. Может кто-нибудь объяснить? Есть ли какой-нибудь метод, с помощью которого мы можем отдельно извлечь только значения float, int и строковые значения из разнородного списка?
заранее спасибо
Предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.
весь код должен быть в виде обычного текста, а не изображений
@Luke L Я использовал спецификатор формата %s для печати объектов в списке. Поскольку %s используется для строк, я думал, что получу только строковый объект, но здесь я напечатал все объекты.
Вместо использования спецификатора формата почему бы вам просто не просмотреть каждый элемент в списке и не проверить, является ли он строкой. Вот два способа сделать это
listData = [10, 'Hello', 50.3]
stringData = [item for item in listData if isinstance(item, str)]
for string in stringData:
print(string)
При этом используется функция isinstance()
, чтобы проверить, является ли каждый элемент в списке строкой, а затем добавляется к списку строк, который будет напечатан позже. Это также можно сделать с помощью функции type()
.
listData = [10, 'Hello', 50.3]
stringData = [item for item in listData if type(item) == str]
for string in stringData:
print(string)
Хотите
print()
или определить тип?