python用循環(huán)新建多個列表的代碼實例
python用循環(huán)新建多個列表
在Python中,我們可以使用列表推導式或循環(huán)結(jié)合條件語句來創(chuàng)建多個列表。下面是一些常見的場景和對應的代碼示例:
1. 創(chuàng)建固定數(shù)量的空列表
假設我們需要創(chuàng)建多個空列表,可以使用列表推導式和循環(huán):
# 使用列表推導式創(chuàng)建多個空列表 num_lists = 5 empty_lists = [[] for _ in range(num_lists)] print(empty_lists)
這將創(chuàng)建一個包含5個空列表的列表。
2. 根據(jù)條件創(chuàng)建多個列表
有時候,我們需要根據(jù)特定條件創(chuàng)建不同的列表。例如,我們想將奇數(shù)和偶數(shù)分別存儲在兩個列表中:
# 創(chuàng)建奇數(shù)和偶數(shù)列表
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("奇數(shù)列表:", odd_numbers)
print("偶數(shù)列表:", even_numbers)
這將根據(jù)數(shù)字的奇偶性創(chuàng)建兩個列表。
3. 根據(jù)字符串長度創(chuàng)建多個列表
有時候,我們需要根據(jù)字符串的長度來將字符串分類并存儲在不同的列表中:
# 根據(jù)字符串長度創(chuàng)建多個列表
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)
這將根據(jù)字符串的長度將單詞分別存儲在三個不同的列表中。
4. 根據(jù)數(shù)據(jù)類型創(chuàng)建多個列表
有時候,我們需要根據(jù)數(shù)據(jù)的類型將其存儲在不同的列表中。例如,我們想將整數(shù)、浮點數(shù)和字符串分別存儲在不同的列表中:
# 根據(jù)數(shù)據(jù)類型創(chuàng)建多個列表
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("整數(shù)列表:", integers)
print("浮點數(shù)列表:", floats)
print("字符串列表:", strings)
這將根據(jù)數(shù)據(jù)的類型將其存儲在三個不同的列表中。
5. 根據(jù)條件動態(tài)創(chuàng)建多個列表
有時候,我們需要根據(jù)動態(tài)變化的條件來創(chuàng)建多個列表。例如,我們想根據(jù)用戶輸入的數(shù)量創(chuàng)建相應數(shù)量的列表:
# 根據(jù)用戶輸入動態(tài)創(chuàng)建多個列表
num_lists = int(input("請輸入要創(chuàng)建的列表數(shù)量: "))
lists = [[] for _ in range(num_lists)]
print("已創(chuàng)建", num_lists, "個空列表:", lists)
這將根據(jù)用戶輸入的數(shù)量動態(tài)創(chuàng)建相應數(shù)量的空列表。
6. 創(chuàng)建包含特定范圍的數(shù)字的多個列表
有時候,我們需要根據(jù)特定范圍的數(shù)字來創(chuàng)建多個列表。例如,我們想要將0到9之間的數(shù)字按照個位數(shù)分別存儲在十個列表中:
# 創(chuàng)建包含特定范圍的數(shù)字的多個列表
num_lists = 10
range_lists = [[] for _ in range(num_lists)]
for num in range(10):
range_lists[num % num_lists].append(num)
print("按照個位數(shù)存儲的列表:")
for i, lst in enumerate(range_lists):
print(f"列表{i}:", lst)
這將按照個位數(shù)將0到9之間的數(shù)字分別存儲在十個列表中。
7. 根據(jù)鍵的哈希值創(chuàng)建多個列表
有時候,我們想根據(jù)鍵的哈希值將數(shù)據(jù)分組存儲在多個列表中。例如,我們有一組鍵值對,我們想根據(jù)鍵的哈希值將其存儲在不同的列表中:
# 根據(jù)鍵的哈希值創(chuàng)建多個列表
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("根據(jù)鍵的哈希值存儲的列表:")
for i, lst in enumerate(hash_lists):
print(f"列表{i}:", lst)
這將根據(jù)鍵的哈希值將鍵值對存儲在三個不同的列表中。
8. 根據(jù)列表中元素的屬性創(chuàng)建多個列表
有時候,我們需要根據(jù)列表中元素的屬性值來創(chuàng)建多個列表。例如,假設我們有一組學生對象,我們想根據(jù)他們的成績將他們分別存儲在及格和不及格的兩個列表中:
# 根據(jù)學生對象的成績創(chuàng)建多個列表
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}")
這將根據(jù)學生對象的成績將學生分別存儲在及格和不及格的兩個列表中。
9. 根據(jù)索引范圍創(chuàng)建多個列表
有時候,我們需要根據(jù)索引范圍將列表切分成多個子列表。例如,我們有一個包含一組數(shù)字的列表,我們想將其分割成若干個小的子列表:
# 根據(jù)索引范圍創(chuàng)建多個列表
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)
這將根據(jù)索引范圍將原始列表切分成三個子列表。
10. 根據(jù)列表元素的值進行分組創(chuàng)建多個列表
有時候,我們需要根據(jù)列表元素的值進行分組,并將它們存儲在不同的列表中。例如,假設我們有一組整數(shù),我們想根據(jù)它們的奇偶性將它們分別存儲在兩個列表中:
# 根據(jù)列表元素的值進行分組創(chuàng)建多個列表
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("奇數(shù)列表:", odd_numbers)
print("偶數(shù)列表:", even_numbers)
這將根據(jù)列表元素的奇偶性將其分別存儲在奇數(shù)和偶數(shù)列表中。
11. 根據(jù)元素是否滿足條件創(chuàng)建多個列表
有時候,我們需要根據(jù)元素是否滿足特定條件來將它們存儲在不同的列表中。例如,假設我們有一組數(shù)字,我們想將大于等于5和小于5的數(shù)字分別存儲在兩個列表中:
# 根據(jù)元素是否滿足條件創(chuàng)建多個列表
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的數(shù)字列表:", greater_than_5)
print("小于5的數(shù)字列表:", less_than_5)
這將根據(jù)數(shù)字是否大于等于5來將其存儲在兩個不同的列表中。
總結(jié)
總的來說,本文介紹了在Python中利用循環(huán)創(chuàng)建多個列表的多種方法,并通過具體的代碼示例進行了展示和解釋。從根據(jù)固定數(shù)量、條件、數(shù)據(jù)類型、屬性、索引范圍、哈希值等不同角度出發(fā),我們探討了如何靈活地利用循環(huán)結(jié)合列表推導式或條件語句來創(chuàng)建多個列表。這些方法不僅提高了代碼的靈活性和可維護性,還能夠加速開發(fā)過程并提高程序的性能。
通過本文的學習,讀者可以掌握在Python中處理數(shù)據(jù)并組織成多個列表的技巧,從而更加有效地進行數(shù)據(jù)操作和管理。同時,靈活運用循環(huán)和列表推導式等Python特性,能夠使代碼更加簡潔、清晰和優(yōu)雅。在實際項目中,根據(jù)具體需求選擇合適的方法來創(chuàng)建多個列表將會成為編程中的重要技能,幫助提高代碼的質(zhì)量和效率。
以上就是python用循環(huán)新建多個列表的代碼實例的詳細內(nèi)容,更多關于python循環(huán)創(chuàng)建列表的資料請關注腳本之家其它相關文章!
相關文章
Python 通過requests實現(xiàn)騰訊新聞抓取爬蟲的方法
今天小編就為大家分享一篇Python 通過requests實現(xiàn)騰訊新聞抓取爬蟲的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
前女友發(fā)來加密的"520快樂.pdf",我用python破解開之后,卻發(fā)現(xiàn)
520收到前女友發(fā)來的加密PDF文件,說打開之后有驚喜,難道是要復合?我用python破解開之后,卻發(fā)現(xiàn)...python干貨+劇情滿滿收藏收藏2021-08-08
python使用openpyxl打開及讀取excel表格過程
openpyxl是一個Python庫,用于讀寫Excel?2010?xlsx/xlsm文件,它允許你輕松工作與Excel表格,進行數(shù)據(jù)處理和分析,支持讀取、創(chuàng)建和修改Excel文件,甚至可以在Excel中插入圖表等,安裝非常簡單,只需要使用pip命令即可2024-09-09
Python中常用的數(shù)據(jù)結(jié)構與算法優(yōu)化技巧指南
Python是一種強大而靈活的編程語言,它提供了豐富的數(shù)據(jù)結(jié)構和算法庫,但是在處理大規(guī)模數(shù)據(jù)或者需要高效運行的情況下,需要考慮一些優(yōu)化技巧,本文將介紹一些Python中常用的數(shù)據(jù)結(jié)構與算法優(yōu)化技巧,需要的朋友可以參考下2024-05-05
Python語言實現(xiàn)百度語音識別API的使用實例
這篇文章主要介紹了Python語言實現(xiàn)百度語音識別API的使用實例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12

