11 советов по использованию циклов Python

Эта статья взята из « Руководства по навыкам работы с циклами в Python » сообщества Huawei Cloud Community, написанного Лемони Хугом.

Когда мы обрабатываем данные, иногда нам необходимо создать несколько списков для хранения данных разных типов или условий. В Python мы можем использовать циклы для быстрого и эффективного создания этих списков. В этой статье объясняется, как использовать циклы для создания нескольких списков в Python, и приводятся примеры кода.

Python использует цикл для создания нескольких списков

В Python мы можем создавать несколько списков, используя списки или циклы в сочетании с условными операторами. Вот некоторые распространенные сценарии и соответствующие примеры кода:

1. Создайте фиксированное количество пустых списков.

Предположим, нам нужно создать несколько пустых списков, мы можем использовать списки и циклы:

# Создание нескольких пустых списков с использованием списков
число_списков = 5
пустые_списки = [[] для _ в диапазоне (num_lists)]

печать (пустые_списки)

Это создаст список из 5 пустых списков.

2. Создайте несколько списков на основе условий.

Иногда нам нужно создавать разные списки в зависимости от конкретных условий. Например, мы хотим хранить нечетные и четные числа в двух списках:

#Создаем нечетные и четные списки
числа = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
нечетные_числа = []
четные_числа = []

для числа в числах:
    если число % 2 == 0:
        Even_numbers.append(число)
    еще:
        нечетные_числа.append(число)

print("Список нечетных чисел:", нечетные числа)
print("Список четных чисел:",even_numbers)

Это создаст два списка на основе четности чисел.

3. Создайте несколько списков в зависимости от длины строки.

Иногда нам нужно классифицировать и хранить строки в разных списках в зависимости от их длины:

#Создаем несколько списков в зависимости от длины строки
words = ["яблоко", "банан", "апельсин", "груша", "виноград", "киви"]
короткие_слова = []
средние_слова = []
длинные_слова = []

за слово словами:
    если len(слово) < 5:
        short_words.append(слово)
    элиф лен(слово) <7:
        medium_words.append(слово)
    еще:
        long_words.append(слово)

print("Краткий список слов:", short_words)
print("Список слов средней длины:", medium_words)
print("Список длинных слов:", long_words)

Это сохранит слова в трех разных списках в зависимости от длины строки.

4. Создайте несколько списков в зависимости от типа данных.

Иногда нам необходимо хранить данные в разных списках в зависимости от их типа. Например, мы хотим хранить целые числа, числа с плавающей запятой и строки в отдельных списках:

#Создаем несколько списков на основе типа данных
данные = [1, 2,5, «яблоко», 4, «банан», 6,7, «апельсин», 8, 9, «груша»]
целые числа = []
плавает = []
строки = []

для элемента в данных:
    если isinstance(пункт, int):
        целые числа.append(элемент)
    elif isinstance(item, float):
        float.append(элемент)
    elif isinstance(item, str):
        strings.append(элемент)

print("Список целых чисел:", целые числа)
print("Список чисел с плавающей запятой:", floats)
print("Список строк:", strings)

При этом данные будут храниться в трех разных списках в зависимости от их типа.

5. Динамическое создание нескольких списков в зависимости от условий

Иногда нам нужно создать несколько списков на основе динамически меняющихся условий. Например, мы хотим создать список соответствующих количеств на основе количества, введенного пользователем:

# Динамически создавать несколько списков на основе пользовательского ввода
num_lists = int(input("Пожалуйста, введите количество списков, которые необходимо создать: "))
списки = [[] для _ в диапазоне (num_lists)]

print("создано", num_lists, "пустые списки:", списки)

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

6. Создайте несколько списков, содержащих определенные диапазоны чисел.

Иногда нам нужно создать несколько списков на основе определенного диапазона чисел. Например, мы хотим хранить числа от 0 до 9 в десяти списках, основанных на однозначных цифрах:

# Создание нескольких списков, содержащих определенный диапазон чисел
число_списков = 10
range_lists = [[] для _ в диапазоне (num_lists)]

для числа в диапазоне (10):
    range_lists[num % num_lists].append(num)

print("Список хранится в однозначных числах:")
для i, lst в перечислении (range_lists):
    print(f"List{i}:", lst)

При этом числа от 0 до 9 будут храниться в десяти отдельных списках, отсортированных по одиночным цифрам.

7. Создайте несколько списков на основе хеш-значений ключей.

Иногда нам нужно хранить данные, сгруппированные в несколько списков на основе хеш-значения ключа. Например, у нас есть набор пар ключ-значение, и мы хотим хранить их в разных списках на основе хеша ключей:

# Создание нескольких списков на основе хеш-значения ключа
data = {"яблоко": 3, "банан": 5, "апельсин": 2, "груша": 4, "виноград": 6}
num_lists = 3
hash_lists = [[] для _ в диапазоне (num_lists)]

для ключа значение в data.items():
    hash_index = хэш (ключ) % num_lists
    hash_lists[hash_index].append((ключ, значение))

print("Список сохраняется в соответствии с хеш-значением ключа:")
для меня, lst в перечислении (hash_lists):
    print(f"List{i}:", lst)

Это сохранит пары ключ-значение в трех разных списках на основе хеша ключа.

8. Создайте несколько списков на основе атрибутов элементов в списке.

Иногда нам необходимо создать несколько списков на основе значений атрибутов элементов в списке. Например, предположим, что у нас есть набор объектов учащихся, и мы хотим сохранить их в двух списках: «Зачет» и «Не зачет», в зависимости от их оценок:

#Создайте несколько списков на основе оценок объектов учащихся
Ученик класса:
    def __init__(я, имя, оценка):
        self.name = имя
        self.score = оценка

студенты = [
    Студент("Алиса", 85 лет),
    Студент("Боб", 60 лет),
    Студент («Чарли», 75 лет),
    Студент("Дэвид", 40 лет),
    Студентка("Эмма", 95)
]

проходящие_студенты = []
неудачные_студенты = []

для студента в студентах:
    если Student.score >= 60:
        pass_students.append(студент)
    еще:
        failing_students.append(студент)

print("Список проходящих студентов:")
для проходного студента_студентов:
    print(f"{student.name}: {student.score}")

print("\nСписок неуспешных учеников:")
для студента в Failing_students:
    print(f"{student.name}: {student.score}")

При этом учащиеся будут храниться в двух списках: «Зачет» и «Не зачет», в зависимости от их оценок.

9. Создайте несколько списков на основе диапазонов индексов.

Иногда нам нужно разделить список на несколько подсписков в зависимости от диапазона индекса. Например, у нас есть список, содержащий набор чисел, и мы хотим разбить его на несколько более мелких подсписков:

#Создаем несколько списков на основе диапазонов индексов
числа = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
num_lists = 3
разделенные_списки = []

для меня в диапазоне (num_lists):
    start_index = i * len(numbers) // число_списков
    end_index = (i + 1) * len(numbers) // число_списков
    Split_lists.append(числа[start_index:end_index])

print("Разделить список:")
для i, lst в перечислении (split_lists):
    print(f"Список{i + 1}:", lst)

Это разделит исходный список на три подсписка в зависимости от диапазона индекса.

10. Создайте несколько списков, группируя их по значениям элементов списка.

Иногда нам нужно группировать элементы списка по их значениям и хранить их в разных списках. Например, предположим, что у нас есть набор целых чисел, и мы хотим сохранить их в двух списках в зависимости от их четности:

#Создаем несколько списков путем группировки на основе значений элементов списка
числа = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
нечетные_числа = []
четные_числа = []

для числа в числах:
    если число % 2 == 0:
        Even_numbers.append(число)
    еще:
        нечетные_числа.append(число)

print("Список нечетных чисел:", нечетные числа)
print("Список четных чисел:",even_numbers)

Это сохранит элементы списка в нечетных и четных списках соответственно в зависимости от их четности.

11. Создайте несколько списков в зависимости от того, соответствуют ли элементы условиям.

Иногда нам нужно хранить элементы в разных списках в зависимости от того, соответствуют ли они определенным условиям. Например, предположим, что у нас есть набор чисел, и мы хотим хранить числа больше или равные 5 и числа меньше 5 в двух списках:

#Создаем несколько списков в зависимости от того, соответствуют ли элементы условиям
числа = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
больше_чем_5 = []
меньше_чем_5 = []

для числа в числах:
    если число >= 5:
        больше_чем_5.append(число)
    еще:
        less_than_5.append(число)

print("Список чисел больше или равных 5:", more_than_5)
print("Список чисел меньше 5:", less_than_5)

Это позволит сохранить число в двух разных списках в зависимости от того, больше оно или равно 5.

Подведем итог

В целом, в этой статье были представлены различные способы создания нескольких списков с использованием циклов в Python, а также продемонстрированы и объяснены их на конкретных примерах кода. Начиная с разных точек зрения, таких как фиксированные количества, условия, типы данных, атрибуты, диапазоны индексов, хеш-значения и т. д., мы исследовали, как гибко использовать циклы в сочетании с пониманием списков или условными операторами для создания нескольких списков. Эти методы не только повышают гибкость и удобство сопровождения кода, но также ускоряют процесс разработки и повышают производительность программы.

Изучая эту статью, читатели смогут освоить навыки обработки данных на Python и их организации в несколько списков, чтобы более эффективно работать с данными и управлять ими. В то же время гибкое использование таких функций Python, как циклы и понимание списков, может сделать код более кратким, понятным и элегантным. В реальных проектах выбор подходящего метода создания нескольких списков в соответствии с конкретными потребностями станет важным навыком программирования и поможет улучшить качество и эффективность кода.

Нажмите, чтобы подписаться и узнать о новых технологиях Huawei Cloud как можно скорее~

Я решил отказаться от промышленного программного обеспечения с открытым исходным кодом. Основные события: был выпущен OGG 1.0, компания Huawei предоставила весь исходный код. Был официально выпущен Ubuntu 24.04. Команда Google Python Foundation была уволена из-за «горы кодового дерьма» . Официально выпущена Fedora Linux 40. Известная игровая компания выпустила Новые правила: свадебные подарки сотрудников не должны превышать 100 000 юаней. China Unicom выпускает первую в мире китайскую версию модели с открытым исходным кодом Llama3 8B. Pinduoduo приговорен к выплате компенсации 5 миллионов юаней за недобросовестную конкуренцию. Метод ввода данных в облако — только у Huawei нет проблем с безопасностью загрузки данных в облако.
{{o.name}}
{{m.name}}

рекомендация

отmy.oschina.net/u/4526289/blog/11059478
рекомендация