成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

玩轉字面量:Python中20個實用字典與列表初始化技巧

開發 后端
在這篇文章中,我們介紹了 20 個實用的字典和列表初始化技巧,通過這些技巧,你可以更高效地創建和操作字典和列表。

字典和列表是 Python 中最常用的數據結構之一。它們可以用來存儲和操作各種類型的數據。在這篇文章中,我們將探討 20 個實用的字典和列表初始化技巧,幫助你更好地理解和使用這兩個數據結構。

1. 基本初始化

列表初始化:

# 創建一個空列表
empty_list = []

# 使用方括號初始化列表
numbers = [1, 2, 3, 4, 5]
print(numbers)  # 輸出: [1.txt, 2, 3, 4, 5]

字典初始化:

# 創建一個空字典
empty_dict = {}

# 使用花括號初始化字典
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(person)  # 輸出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

2. 使用列表推導式

列表推導式是一種簡潔的方式來創建列表。

# 創建一個包含 1.txt 到 10 的平方的列表
squares = [x**2 for x in range(1, 11)]
print(squares)  # 輸出: [1.txt, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3. 使用字典推導式

字典推導式類似于列表推導式,但用于創建字典。

# 創建一個包含 1.txt 到 5 的平方的字典
squares_dict = {x: x**2 for x in range(1, 6)}
print(squares_dict)  # 輸出: {1.txt: 1.txt, 2: 4, 3: 9, 4: 16, 5: 25}

4. 初始化帶有默認值的字典

使用dict.fromkeys 方法可以快速創建一個帶有默認值的字典。

# 創建一個帶有默認值 0 的字典
default_dict = dict.fromkeys(['a', 'b', 'c'], 0)
print(default_dict)  # 輸出: {'a': 0, 'b': 0, 'c': 0}

5. 使用collections.defaultdict

collections.defaultdict 是一個非常有用的工具,可以在訪問不存在的鍵時自動創建默認值。

from collections import defaultdict

# 創建一個默認值為 int 的字典
dd = defaultdict(int)
dd['a'] += 1
print(dd)  # 輸出: defaultdict(<class 'int'>, {'a': 1.txt})

6. 初始化嵌套列表

嵌套列表是一種常見的數據結構,可以用來表示矩陣或表格。

# 創建一個 3x3 的零矩陣
matrix = [[0 for _ in range(3)] for _ in range(3)]
print(matrix)  # 輸出: [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

7. 初始化嵌套字典

嵌套字典可以用來表示更復雜的數據結構。

# 創建一個嵌套字典
nested_dict = {
    'a': {'x': 1, 'y': 2},
    'b': {'x': 3, 'y': 4}
}
print(nested_dict)  # 輸出: {'a': {'x': 1.txt, 'y': 2}, 'b': {'x': 3, 'y': 4}}

8. 使用* 操作符初始化列表

* 操作符可以用來重復列表中的元素。

# 創建一個包含 5 個 0 的列表
zero_list = [0] * 5
print(zero_list)  # 輸出: [0, 0, 0, 0, 0]

9. 使用zip 函數初始化字典

zip 函數可以將多個列表組合成一個字典。

# 使用 zip 函數創建字典
keys = ['a', 'b', 'c']
values = [1, 2, 3]
zipped_dict = dict(zip(keys, values))
print(zipped_dict)  # 輸出: {'a': 1.txt, 'b': 2, 'c': 3}

10. 使用enumerate 函數初始化字典

enumerate 函數可以返回索引和值,方便創建字典。

# 使用 enumerate 函數創建字典
fruits = ['apple', 'banana', 'cherry']
indexed_fruits = {i: fruit for i, fruit in enumerate(fruits)}
print(indexed_fruits)  # 輸出: {0: 'apple', 1.txt: 'banana', 2: 'cherry'}

11. 使用range 函數初始化列表

range 函數可以生成一系列數字,方便創建列表。

# 使用 range 函數創建列表
even_numbers = list(range(0, 10, 2))
print(even_numbers)  # 輸出: [0, 2, 4, 6, 8]

12. 使用itertools.product 初始化嵌套列表

itertools.product 可以生成笛卡爾積,方便創建嵌套列表。

import itertools

# 使用 itertools.product 創建嵌套列表
rows = [1, 2, 3]
cols = ['a', 'b', 'c']
matrix = [[(r, c) for c in cols] for r in rows]
print(matrix)
# 輸出: [[(1.txt, 'a'), (1.txt, 'b'), (1.txt, 'c')], [(2, 'a'), (2, 'b'), (2, 'c')], [(3, 'a'), (3, 'b'), (3, 'c')]]

13. 使用itertools.repeat 初始化列表

itertools.repeat 可以重復生成同一個值,方便創建列表。

import itertools

# 使用 itertools.repeat 創建列表
repeated_list = list(itertools.repeat('hello', 5))
print(repeated_list)  # 輸出: ['hello', 'hello', 'hello', 'hello', 'hello']

14. 使用collections.Counter 初始化字典

collections.Counter 可以統計列表中元素的出現次數,方便創建字典。

from collections import Counter

# 使用 Counter 創建字典
words = ['apple', 'banana', 'apple', 'cherry', 'banana', 'banana']
word_count = dict(Counter(words))
print(word_count)  # 輸出: {'apple': 2, 'banana': 3, 'cherry': 1.txt}

15. 使用set 初始化字典

set 可以去重,方便創建字典。

# 使用 set 創建字典
unique_words = list(set(words))
word_dict = {word: len(word) for word in unique_words}
print(word_dict)  # 輸出: {'apple': 5, 'banana': 6, 'cherry': 6}

16. 使用map 函數初始化列表

map 函數可以對列表中的每個元素應用一個函數,方便創建列表。

# 使用 map 函數創建列表
squared_numbers = list(map(lambda x: x**2, range(1, 6)))
print(squared_numbers)  # 輸出: [1.txt, 4, 9, 16, 25]

17. 使用filter 函數初始化列表

filter 函數可以過濾列表中的元素,方便創建列表。

# 使用 filter 函數創建列表
even_numbers = list(filter(lambda x: x % 2 == 0, range(1, 11)))
print(even_numbers)  # 輸出: [2, 4, 6, 8, 10]

18. 使用functools.reduce 初始化單個值

functools.reduce 可以對列表中的元素進行累積操作,方便創建單個值。

from functools import reduce

# 使用 reduce 函數計算列表的和
sum_of_numbers = reduce(lambda x, y: x + y, range(1, 6))
print(sum_of_numbers)  # 輸出: 15

19. 使用itertools.groupby 初始化字典

itertools.groupby 可以按條件分組,方便創建字典。

import itertools

# 使用 groupby 創建字典
data = [('apple', 5), ('banana', 6), ('apple', 7), ('cherry', 6)]
data.sort(key=lambda x: x[0])  # 必須先排序
grouped_data = {k: list(v) for k, v in itertools.groupby(data, key=lambda x: x[0])}
print(grouped_data)
# 輸出: {'apple': [('apple', 5), ('apple', 7)], 'banana': [('banana', 6)], 'cherry': [('cherry', 6)]}

20. 使用json.loads 和json.dumps 初始化字典和列表

json 模塊可以方便地將字符串轉換為字典或列表。

import json

# 使用 json.loads 將字符串轉換為字典
json_str = '{"name": "Alice", "age": 25}'
person = json.loads(json_str)
print(person)  # 輸出: {'name': 'Alice', 'age': 25}

# 使用 json.dumps 將字典轉換為字符串
json_str = json.dumps(person)
print(json_str)  # 輸出: '{"name": "Alice", "age": 25}'

實戰案例:學生信息管理系統

假設我們要創建一個學生信息管理系統,每個學生有姓名、年齡和成績。我們可以使用字典和列表來存儲這些信息。

# 學生信息管理系統
students = [
    {'name': 'Alice', 'age': 20, 'grade': 85},
    {'name': 'Bob', 'age': 21, 'grade': 90},
    {'name': 'Charlie', 'age': 19, 'grade': 88}
]

# 打印所有學生的姓名和成績
for student in students:
    print(f"{student['name']}: {student['grade']}")

# 計算所有學生的平均成績
total_grades = sum(student['grade'] for student in students)
average_grade = total_grades / len(students)
print(f"Average grade: {average_grade}")

# 找出成績最高的學生
top_student = max(students, key=lambda s: s['grade'])
print(f"Top student: {top_student['name']} with grade {top_student['grade']}")

總結

在這篇文章中,我們介紹了 20 個實用的字典和列表初始化技巧,包括基本初始化、列表和字典推導式、嵌套結構、使用* 操作符、zip 函數、enumerate 函數、range 函數、itertools 模塊、collections 模塊、map 函數、filter 函數、functools.reduce、json 模塊等。通過這些技巧,你可以更高效地創建和操作字典和列表。

責任編輯:趙寧寧 來源: 小白PythonAI編程
相關推薦

2023-11-12 23:08:17

C++初始化

2021-12-26 00:08:35

C++初始化列表

2024-03-13 08:52:43

C++初始化方式

2020-12-03 09:50:52

容器IoC流程

2019-11-04 13:50:36

Java數組編程語言

2024-03-14 09:19:49

2010-01-05 15:35:21

.NET Framew

2009-08-12 17:43:54

雙括弧Java語法技巧

2021-10-09 07:10:30

Go字面量組合

2010-02-01 14:21:24

C++初始化列表

2024-11-13 13:14:38

2009-12-09 11:21:30

Linux實用技巧

2011-06-17 15:29:44

C#對象初始化器集合初始化器

2024-10-29 11:27:27

2020-09-28 10:58:26

Google AI技術

2024-06-24 00:05:00

Python代碼

2022-08-16 10:53:56

JavaScript前端技巧

2022-03-30 08:19:12

JavaGroovy

2012-05-23 12:46:53

JavaJava類

2024-08-26 14:42:04

Python目錄管理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线日韩 | 亚洲一区二区三区久久 | 久久久影院 | 欧产日产国产精品v | 久久久久久久久久久丰满 | 三级av在线 | 日韩毛片在线视频 | 久久久久国产精品午夜一区 | 亭亭五月激情 | 欧美亚洲高清 | 久久久成人精品 | 国产成在线观看免费视频 | 成人性视频在线播放 | 一区二区视频在线观看 | 欧美极品视频 | 午夜精品在线观看 | 青青草av| 日韩欧美在线观看 | 97超碰人人草 | 国产成人免费视频网站高清观看视频 | 精品国产一区二区三区性色 | 免费久久精品视频 | 亚洲视频一区 | 蜜桃精品在线 | 午夜电影网 | 久久久www成人免费精品张筱雨 | 国产精品一二三区 | 亚洲精品日韩欧美 | 欧美亚洲另类丝袜综合网动图 | 久久精品亚洲一区二区三区浴池 | 成人免费大片黄在线播放 | www成人免费视频 | 91精品国产综合久久香蕉922 | 毛片网在线观看 | 亚洲乱码国产乱码精品精的特点 | 亚洲一区av在线 | 亚洲午夜电影 | 九色porny自拍视频 | 久久久国产一区二区三区 | 日韩不卡一区二区三区 | 中文字幕视频在线观看 |