Python新手必看之三大核心數(shù)據(jù)結(jié)構(gòu)(字符串/列表/字典)的完全指南
在 Python 編程中,數(shù)據(jù)結(jié)構(gòu)是存儲和組織數(shù)據(jù)的基礎(chǔ)。對于初學(xué)者來說,掌握 字符串 (String)、列表 (List) 和 字典 (Dictionary) 這三種最常用的數(shù)據(jù)結(jié)構(gòu)至關(guān)重要。
本文將詳細(xì)介紹這三種數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建方法,并提供豐富的代碼示例,助你快速上手!
1. 字符串 (String) —— 文本數(shù)據(jù)的載體
字符串是 Python 中最常用的數(shù)據(jù)類型,用于表示文本。它是不可變的序列。
1.1 創(chuàng)建字符串的常見方法
方法一:使用單引號或雙引號
這是最直接的創(chuàng)建方式。Python 中單引號 ' 和雙引號 " 作用相同。
# 使用單引號 s1 = 'Hello, Python!' # 使用雙引號(當(dāng)字符串內(nèi)部包含單引號時非常有用) s2 = "I'm learning Python." print(s1) # 輸出: Hello, Python! print(s2) # 輸出: I'm learning Python.
方法二:使用三引號(多行字符串)
當(dāng)字符串內(nèi)容跨越多行,或者包含復(fù)雜的引號時,使用三引號 ''' 或 """。
s3 = ''' 這是一個 多行字符串 ''' s4 = """可以包含 '單引號' 和 "雙引號" 的字符串""" print(s3) print(s4)
方法三:使用str()函數(shù)
將其他數(shù)據(jù)類型(如整數(shù)、浮點(diǎn)數(shù))轉(zhuǎn)換為字符串。
num = 100 s5 = str(num) # 將整數(shù) 100 轉(zhuǎn)換為字符串 '100' print(type(s5)) # 輸出: <class 'str'>
方法四:字符串格式化創(chuàng)建 (f-string)
Python 3.6+ 引入的強(qiáng)大功能,可以在字符串中直接嵌入變量。
name = "Alice"
age = 25
s6 = f"My name is {name} and I am {age} years old."
print(s6) # 輸出: My name is Alice and I am 25 years old.
2. 列表 (List) —— 靈活有序的容器
列表是 Python 中最通用的序列類型,可以包含任意類型的對象。它是可變的,意味著你可以隨時修改其中的元素。
2.1 創(chuàng)建列表的常見方法
方法一:使用方括號[]
最簡單、最常用的方法。
# 創(chuàng)建空列表 empty_list = [] # 創(chuàng)建包含元素的列表 numbers = [1, 2, 3, 4, 5] mixed_list = [1, "Hello", 3.14, True] # 列表中可以包含不同類型的數(shù)據(jù) print(numbers) print(mixed_list)
方法二:使用list()構(gòu)造函數(shù)
將其他可迭代對象(如字符串、元組)轉(zhuǎn)換為列表。
# 將字符串轉(zhuǎn)換為列表
char_list = list("Python")
print(char_list) # 輸出: ['P', 'y', 't', 'h', 'o', 'n']
# 將元組轉(zhuǎn)換為列表
tuple_data = (10, 20, 30)
list_from_tuple = list(tuple_data)
print(list_from_tuple) # 輸出: [10, 20, 30]
方法三:列表推導(dǎo)式 (List Comprehension)
一種簡潔而強(qiáng)大的創(chuàng)建列表的方式,通常用于基于現(xiàn)有列表生成新列表。
# 生成 0 到 9 的平方列表 squares = [x**2 for x in range(10)] print(squares) # 輸出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # 生成偶數(shù)列表 evens = [x for x in range(10) if x % 2 == 0] print(evens) # 輸出: [0, 2, 4, 6, 8]
3. 字典 (Dictionary) —— 鍵值對的映射
字典是一種無序的(Python 3.7+ 變?yōu)橛行颍⒖勺兊娜萜髂P?,可存儲任意類型對象。字典?鍵 (Key) 和 值 (Value) 組成,鍵必須是唯一的且不可變(如字符串、數(shù)字、元組)。
3.1 創(chuàng)建字典的常見方法
方法一:使用花括號{}
最常用的創(chuàng)建方式。
# 創(chuàng)建空字典
empty_dict = {}
# 創(chuàng)建包含鍵值對的字典
person = {
"name": "Bob",
"age": 30,
"city": "New York"
}
print(person)
print(person["name"]) # 訪問值,輸出: Bob
方法二:使用dict()構(gòu)造函數(shù)
可以通過關(guān)鍵字參數(shù)或二元組列表來創(chuàng)建。
# 使用關(guān)鍵字參數(shù)
d1 = dict(name="Alice", age=25, job="Engineer")
print(d1)
# 使用二元組列表
d2 = dict([('one', 1), ('two', 2), ('three', 3)])
print(d2) # 輸出: {'one': 1, 'two': 2, 'three': 3}
方法三:使用fromkeys()方法
創(chuàng)建一個新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對應(yīng)的初始值。
keys = ['name', 'age', 'gender']
default_value = 'unknown'
# 創(chuàng)建一個默認(rèn)值為 'unknown' 的字典
d3 = dict.fromkeys(keys, default_value)
print(d3)
# 輸出: {'name': 'unknown', 'age': 'unknown', 'gender': 'unknown'}
方法四:字典推導(dǎo)式 (Dictionary Comprehension)
類似于列表推導(dǎo)式,用于快速生成字典。
# 將列表中的元素作為鍵,元素的平方作為值
numbers = [1, 2, 3, 4]
square_dict = {x: x**2 for x in numbers}
print(square_dict)
# 輸出: {1: 1, 2: 4, 3: 9, 4: 16}
總結(jié)
| 數(shù)據(jù)結(jié)構(gòu) | 符號 | 特點(diǎn) | 適用場景 |
|---|---|---|---|
| 字符串 (String) | ' ' 或 " " | 不可變、有序字符序列 | 存儲文本信息 |
| 列表 (List) | [ ] | 可變、有序任意對象序列 | 存儲有序的數(shù)據(jù)集合,需要頻繁修改時 |
| 字典 (Dict) | { } | 可變、鍵值對映射 | 存儲關(guān)聯(lián)數(shù)據(jù),需要通過 Key 快速查找時 |
掌握這三種數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建和使用,是通往 Python 高手之路的第一步。趕快打開編輯器,親手敲一遍上面的代碼吧!
到此這篇關(guān)于Python新手必看之三大核心數(shù)據(jù)結(jié)構(gòu)(字符串/列表/字典)的完全指南的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytorch mask_select 函數(shù)的用法詳解
今天小編就為大家分享一篇Pytorch mask_select 函數(shù)的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列詳解
我們在做數(shù)據(jù)處理的時候遇到pandas列轉(zhuǎn)行的問題,這篇文章主要給大家介紹了關(guān)于pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12
python實(shí)現(xiàn)發(fā)送QQ郵件(可加附件)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)發(fā)送QQ郵件,可添加附件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-12-12
聊聊python中的load、loads實(shí)現(xiàn)反序列化的問題
在python自動化中,我們傳遞一些參數(shù)是需要從文件中讀取過來的,讀取過來的字典并非python對象數(shù)據(jù)類型而是string類型。本文給大家分享python中的load、loads實(shí)現(xiàn)反序列化的問題,感興趣的朋友一起看看吧2021-10-10

