11个Python的循环技巧分享

 更新时间:2024年04月28日 09:45:58   作者:柠檬味拥抱  
当我们处理数据时,有时候需要创建多个列表以存储不同类型或不同条件下的数据,在Python中,我们可以利用循环来快速、高效地创建这些列表,本文将介绍如何使用循环在Python中创建多个列表,需要的可以参考下

python用循环新建多个列表

在Python中,我们可以使用列表推导式或循环结合条件语句来创建多个列表。下面是一些常见的场景和对应的代码示例:

1. 创建固定数量的空列表

假设我们需要创建多个空列表,可以使用列表推导式和循环:

# 使用列表推导式创建多个空列表
num_lists = 5
empty_lists = [[] for _ in range(num_lists)]

print(empty_lists)

这将创建一个包含5个空列表的列表。

2. 根据条件创建多个列表

有时候,我们需要根据特定条件创建不同的列表。例如,我们想将奇数和偶数分别存储在两个列表中:

# 创建奇数和偶数列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
odd_numbers = []
even_numbers = []

for num in numbers:
    if num % 2 == 0:
        even_numbers.append(num)
    else:
        odd_numbers.append(num)

print("奇数列表:", odd_numbers)
print("偶数列表:", even_numbers)

这将根据数字的奇偶性创建两个列表。

3. 根据字符串长度创建多个列表

有时候,我们需要根据字符串的长度来将字符串分类并存储在不同的列表中:

# 根据字符串长度创建多个列表
words = ["apple", "banana", "orange", "pear", "grape", "kiwi"]
short_words = []
medium_words = []
long_words = []

for word in words:
    if len(word) < 5:
        short_words.append(word)
    elif len(word) < 7:
        medium_words.append(word)
    else:
        long_words.append(word)

print("短单词列表:", short_words)
print("中等长度单词列表:", medium_words)
print("长单词列表:", long_words)

这将根据字符串的长度将单词分别存储在三个不同的列表中。

4. 根据数据类型创建多个列表

有时候,我们需要根据数据的类型将其存储在不同的列表中。例如,我们想将整数、浮点数和字符串分别存储在不同的列表中:

# 根据数据类型创建多个列表
data = [1, 2.5, "apple", 4, "banana", 6.7, "orange", 8, 9, "pear"]
integers = []
floats = []
strings = []

for item in data:
    if isinstance(item, int):
        integers.append(item)
    elif isinstance(item, float):
        floats.append(item)
    elif isinstance(item, str):
        strings.append(item)

print("整数列表:", integers)
print("浮点数列表:", floats)
print("字符串列表:", strings)

这将根据数据的类型将其存储在三个不同的列表中。

5. 根据条件动态创建多个列表

有时候,我们需要根据动态变化的条件来创建多个列表。例如,我们想根据用户输入的数量创建相应数量的列表:

# 根据用户输入动态创建多个列表
num_lists = int(input("请输入要创建的列表数量: "))
lists = [[] for _ in range(num_lists)]

print("已创建", num_lists, "个空列表:", lists)

这将根据用户输入的数量动态创建相应数量的空列表。

6. 创建包含特定范围的数字的多个列表

有时候,我们需要根据特定范围的数字来创建多个列表。例如,我们想要将0到9之间的数字按照个位数分别存储在十个列表中:

# 创建包含特定范围的数字的多个列表
num_lists = 10
range_lists = [[] for _ in range(num_lists)]

for num in range(10):
    range_lists[num % num_lists].append(num)

print("按照个位数存储的列表:")
for i, lst in enumerate(range_lists):
    print(f"列表{i}:", lst)

这将按照个位数将0到9之间的数字分别存储在十个列表中。

7. 根据键的哈希值创建多个列表

有时候,我们想根据键的哈希值将数据分组存储在多个列表中。例如,我们有一组键值对,我们想根据键的哈希值将其存储在不同的列表中:

# 根据键的哈希值创建多个列表
data = {"apple": 3, "banana": 5, "orange": 2, "pear": 4, "grape": 6}
num_lists = 3
hash_lists = [[] for _ in range(num_lists)]

for key, value in data.items():
    hash_index = hash(key) % num_lists
    hash_lists[hash_index].append((key, value))

print("根据键的哈希值存储的列表:")
for i, lst in enumerate(hash_lists):
    print(f"列表{i}:", lst)

这将根据键的哈希值将键值对存储在三个不同的列表中。

8. 根据列表中元素的属性创建多个列表

有时候,我们需要根据列表中元素的属性值来创建多个列表。例如,假设我们有一组学生对象,我们想根据他们的成绩将他们分别存储在及格和不及格的两个列表中:

# 根据学生对象的成绩创建多个列表
class Student:
    def __init__(self, name, score):
        self.name = name
        self.score = score

students = [
    Student("Alice", 85),
    Student("Bob", 60),
    Student("Charlie", 75),
    Student("David", 40),
    Student("Emma", 95)
]

passing_students = []
failing_students = []

for student in students:
    if student.score >= 60:
        passing_students.append(student)
    else:
        failing_students.append(student)

print("及格学生列表:")
for student in passing_students:
    print(f"{student.name}: {student.score}")

print("\n不及格学生列表:")
for student in failing_students:
    print(f"{student.name}: {student.score}")

这将根据学生对象的成绩将学生分别存储在及格和不及格的两个列表中。

9. 根据索引范围创建多个列表

有时候,我们需要根据索引范围将列表切分成多个子列表。例如,我们有一个包含一组数字的列表,我们想将其分割成若干个小的子列表:

# 根据索引范围创建多个列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
num_lists = 3
split_lists = []

for i in range(num_lists):
    start_index = i * len(numbers) // num_lists
    end_index = (i + 1) * len(numbers) // num_lists
    split_lists.append(numbers[start_index:end_index])

print("切分后的列表:")
for i, lst in enumerate(split_lists):
    print(f"列表{i + 1}:", lst)

这将根据索引范围将原始列表切分成三个子列表。

10. 根据列表元素的值进行分组创建多个列表

有时候,我们需要根据列表元素的值进行分组,并将它们存储在不同的列表中。例如,假设我们有一组整数,我们想根据它们的奇偶性将它们分别存储在两个列表中:

# 根据列表元素的值进行分组创建多个列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
odd_numbers = []
even_numbers = []

for num in numbers:
    if num % 2 == 0:
        even_numbers.append(num)
    else:
        odd_numbers.append(num)

print("奇数列表:", odd_numbers)
print("偶数列表:", even_numbers)

这将根据列表元素的奇偶性将其分别存储在奇数和偶数列表中。

11. 根据元素是否满足条件创建多个列表

有时候,我们需要根据元素是否满足特定条件来将它们存储在不同的列表中。例如,假设我们有一组数字,我们想将大于等于5和小于5的数字分别存储在两个列表中:

# 根据元素是否满足条件创建多个列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
greater_than_5 = []
less_than_5 = []

for num in numbers:
    if num >= 5:
        greater_than_5.append(num)
    else:
        less_than_5.append(num)

print("大于等于5的数字列表:", greater_than_5)
print("小于5的数字列表:", less_than_5)

这将根据数字是否大于等于5来将其存储在两个不同的列表中。

总结

总的来说,本文介绍了在Python中利用循环创建多个列表的多种方法,并通过具体的代码示例进行了展示和解释。从根据固定数量、条件、数据类型、属性、索引范围、哈希值等不同角度出发,我们探讨了如何灵活地利用循环结合列表推导式或条件语句来创建多个列表。这些方法不仅提高了代码的灵活性和可维护性,还能够加速开发过程并提高程序的性能。

通过本文的学习,读者可以掌握在Python中处理数据并组织成多个列表的技巧,从而更加有效地进行数据操作和管理。同时,灵活运用循环和列表推导式等Python特性,能够使代码更加简洁、清晰和优雅。在实际项目中,根据具体需求选择合适的方法来创建多个列表将会成为编程中的重要技能,帮助提高代码的质量和效率。

以上就是11个Python的循环技巧分享的详细内容,更多关于Python循环的资料请关注脚本之家其它相关文章!

相关文章

  • tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)

    tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)

    这篇文章主要介绍了tensorflow模型文件(ckpt)转pb文件(不知道输出节点名),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 利用python打印出菱形、三角形以及矩形的方法实例

    利用python打印出菱形、三角形以及矩形的方法实例

    最近在开发中遇到一个问题,需要利用python实现菱形、三角形以及矩形等形状,发现网上这方面的资料较少,所以总结分享下,这篇文章主要给大家介绍了关于利用python打印出菱形、三角形以及矩形的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 简单文件操作python 修改文件指定行的方法

    简单文件操作python 修改文件指定行的方法

    使用python进行简略的文件读写
    2013-05-05
  • 基于Django统计博客文章阅读量

    基于Django统计博客文章阅读量

    这篇文章主要介绍了基于Django统计博客文章阅读量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Pandas中如何对DataFrame列名进行重命名

    Pandas中如何对DataFrame列名进行重命名

    在做数据挖掘的时候,想改一个DataFrame的column名称,所以就查了一下,下面这篇文章主要给大家介绍了关于Pandas中如何对DataFrame列名进行重命名的相关资料,需要的朋友可以参考下
    2023-04-04
  • Python字典使用技巧详解

    Python字典使用技巧详解

    Python 中字典和集合也是非常相近的概念,而且从外观看上去,也有那么一丝丝的相似。本文将从字典基本知识入手,为你展开字典类型数据的各个知识点,需要的可以参考一下
    2022-11-11
  • numpy.insert用法及内插插0的方法

    numpy.insert用法及内插插0的方法

    本文主要介绍了numpy.insert用法及内插插0的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • PyTorch一小时掌握之基本操作篇

    PyTorch一小时掌握之基本操作篇

    这篇文章主要介绍了PyTorch一小时掌握之基本操作篇,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • python局部赋值的规则

    python局部赋值的规则

    Python提出如下假设:如果在函数体内的任何地方对变量赋值,则Python将名称添加到局部命名空间中。
    2013-03-03
  • python写入Excel表格的方法详解

    python写入Excel表格的方法详解

    这篇文章主要为大家详细介绍了python写入Excel表格的方法,使用jupyter notebook,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论