1. 用python怎麼統計一個列表的元素種類和各個種類的個數
統計一個列表中每一個元素的個數在Python里有兩種實現方式,
第一種是新建一個dict,鍵是列表中的元素,值是統計的個數,然後遍歷list。
items=["cc","cc","ct","ct","ac"]
count={}
foriteminitems:
count[item]=count.get(item,0)+1
print(count)
#{'ac':1,'ct':2,'cc':2}
之中用到了一個小技巧,當dict中不還沒有統計過一個元素時,直接索引count[item]會報錯,而使用get方法count.get(item, 0)能夠設置索引不存在的鍵時返回0。
第二種是使用Python內置的函數。統計元素的個數是一種非常常見的操作,Python的collection包里已經有一個Counter的類,大致實現了上面的功能。
fromcollectionsimportCounter
items=["cc","cc","ct","ct","ac"]
count=Counter(items)
print(count)
#Counter({'ct':2,'cc':2,'ac':1})
2. python怎麼取出字典中的值並進行計算
在Python中,可以使用字典的鍵來獲取相應的值,並進行計算。下面是一個簡頌鉛察單的示例,演示了如何從字典中獲取值並進行相加計算:
# 定義一個字典,包含三個鍵值對
my_dict = {'a': 10, 'b': 20, 'c': 30}
# 從字典中獲取相應的值,並進行計算
result = my_dict['a'] + my_dict['b'] + my_dict['c']
# 輸出計算結果
print('計算結果為:', result)
運行上述代碼會輸出:計算結果為: 60,說明程序成功地從字典中獲取了相應的值,並進行了計算。
需要注意的是,在從字典中獲取值時,如果指定的鍵不存在,程序會拋出 KeyError 異常。為了避免這種情況,可激銀以使用 get() 方法獲野茄取值,如果指定的鍵不存在,該方法會返回 None 或指定的默認值,而不是拋出異常。下面是一個使用 get() 方法的示例:
# 定義一個字典,包含三個鍵值對
my_dict = {'a': 10, 'b': 20, 'c': 30}
# 從字典中獲取相應的值,並進行計算
result = my_dict.get('a', 0) + my_dict.get('b', 0) + my_dict.get('d', 0)
# 輸出計算結果
print('計算結果為:', result)
在上述代碼中,get() 方法的第二個參數指定了默認值,如果指定的鍵不存在,則返回0。這樣,即使字典中沒有鍵為 d 的項,程序也不會拋出異常,而是將其值視為0進行計算。
3. 二級Python----組合數據類型(DAY 5)
1.集合類型概述
Python語言中的集合類型與數學中的集合概念一致,即包含0個或多個數據項的無序組合。
集合是無序組合,用大括弧{}表示,它沒有索引和位置的概念,集合中元素可以動態增加或刪除。
由於集合元素獨一無二,使用集合類型能夠過濾掉重復元素。
集合類型有4個操作符,交集&、並集|、差集-、補集^,操作邏輯與數學定義相同
集合類型有一些常用的操作函數或方法
set()函數將其他的組合數據類型變成集合類型,返回結果是一個無重復且排序任意的集合。set()函數也可以生成空集合變數。
列表類型用中括弧[]表示,也可以通過list(x)函數將集合或字元串類型轉換成列表類型。
列表屬於序列類型,所以列表類型支持序列類型對應的操作
1.序列類型有一些通用的操作符和函數
2.列表的索引
索引是列表的基本操作,用於獲得列表的一個元素。使用中括弧作為索引操作符。
可以使用遍歷循環對列表類型的元素進行遍歷操作,
基本使用方式如下
3.列表的切片
切片是列表的基本操作,用於獲得列表的一個片段,即獲得一個或多個元素。切片後的結果也是列表類型。
切片的使用方式:
切片獲取列表類型從N到M(不包含M)的元素組成新的列表。當K存在時,切片獲取列表類型從N到M(不包含M)以K為步長所對應元素組成的列表。
1.列表的操作方法
ls.append(x)僅用於在列表中增加一個元素,如果希望增加多個元素,可以使用加號+,將兩個列表合並。
可以使用Python保留字del對列表元素或片段進行刪除。
如下:
或
使用索引配合等號(=)可以對列表元素進行修改。
補:元組
Python的元組與列表類似,不同之處在於元組的元素不能修改。
元組使用小括弧(),列表使用方括弧。
元組創建很簡單,只需要在括弧中添加元素,並使用逗號隔開即可。
Python語言中的字典使用大括弧{}建立,每個元素是一個鍵值對。
使用方式:
鍵和值通過冒號連接,不同鍵值對通過逗號隔開。大括弧可以表示集合,字典類型也具有和集合類似的性質,即鍵值對之間沒有順序且不能重復。
•字典的索引
列表類型採用元素順序的位置進行索引。由於字典元素「鍵值對」中鍵是值的索引,因此,可以直接利用鍵值對關系索引元素。
利用索引和賦值 = 配合,可以對字典中每個元素進行修改。
使用大括弧可以創建字典。通過索引和賦值配合,可以向字典中增加元素。
字典類型有一些通用的操作函數
字典類型存在一些操作方法
d.keys()返回字典中的所有鍵信息,返回結果是Python的一種內部數據類型dict_keys,專用於表示字典的鍵。如果希望更好的使用返回結果,可以將其轉換為列表類型。
d.values()返回字典中的所有值信息,返回結果是Python的一種內部數據類型dict_values。如果希望更好的使用返回結果,可以將其轉換為列表類型。
d.items()返回字典中的所有鍵值對信息,返回結果是Python的一種內部數據類型dict_items。
d.get(key, default)根據鍵信息查找並返回值信息,如果key存在則返回相應值,否則返回默認值,第二個元素default可以省略,如果省略則默認值為空。
d.pop(key, default)根據鍵信息查找並取出值信息,如果key存在則返回相應值,否則返回默認值,第二個元素default可以省略,如果省略則默認值為空。相比d.get()方法,d.pop()在取出相應值後,將從字典中刪除對應的鍵值對。
d.popitem()隨機從字典中取出一個鍵值對,以元組(key,value)形式返回。取出後從字典中刪除這個鍵值對。
d.clear()刪除字典中所有鍵值對。
此外,如果希望刪除字典中某一個元素, 可以使用Python保留字del。
字典類型也支持保留字in,用來判斷一個鍵是否在字典中。如果在則返回True,否則返回False。
字典可以遍歷循環對其元素進行遍歷
for循環返回的變數名是字典的索引值。如果需要獲得鍵對應的值,可以在語句塊中通過get()方法獲得。
4. 關於Python:get語句的問題
r.get(i,0) 就是,取i鍵的值,如果鍵不存在返回0。
r.setdefault(i,0) 則是,取i鍵的值,如果鍵不存在返回0,並且創建一個i:0的鍵值對。
所以,你的這個例子,兩種寫法,效果是一樣的。沒有區別,你看下面的例子,就很明顯。
get完,字典沒有變化,setdefault則新增了一個鍵值對