自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python數(shù)據(jù)類型在常見集合中的語法

開發(fā) 后端
Python數(shù)據(jù)類型在不斷的使用中需要大家仔細(xì)的學(xué)習(xí)。下面就是詳細(xì)的介紹一些常見問題的解決方案。希望大家有所收獲。

Python數(shù)據(jù)類型在平時的應(yīng)用中有不少的知識需要大家詳細(xì)的學(xué)習(xí)。下面就向大家介紹相關(guān)的技術(shù)問題。Python數(shù)據(jù)類型中的set和C#中的集合(collection)不是一個概念,這是翻譯的問題。

Python中的集合是指無序的、不重復(fù)的元素集,類似數(shù)學(xué)中的集合概念,可對其進(jìn)行交、并、差、補(bǔ)等邏輯運(yùn)算。

常見集合的語法為:

  1. s = set(['a', 'b', 'c']) 

不過set在Python 3.0中發(fā)生了較大的變化,創(chuàng)建一個集合的語法變成了:s = {1,2,3},用花括弧的方法,與后邊要提到的dict類似。

如果在set中傳入重復(fù)元素,集合會自動將其合并。這個特性非常有用,比如去除列表里大量的重復(fù)元素,用set解決效率很高,示例如下:

  1. # -*- coding: utf-8 -*-  
  2. a = [11,22,33,44,11,22,11,11,22,22,33,33,33]  
  3. b = set(a)  
  4. print b  
  5. #輸出 set([33, 11, 44, 22]) 

另一個例子,找出兩個list里面相同的元素(集合求交,其它類推),代碼如下:

  1. # -*- coding: utf-8 -*-  
  2. a = ["11","22","33"]  
  3. b = ["11","33"]  
  4. c = set(a)&set(b)  
  5. print c  
  6. #輸出 set(['11', '33']) 

想想你如果自己實(shí)現(xiàn)這個算法會怎么寫?然后可以找兩個大一點(diǎn)的列表,比比和set實(shí)現(xiàn)的效率,你就會有體會了。以后在程序里多用set吧。
目前C#的Collections中好像還沒有Set,但是C++ STL里是有的,不知道C#為什么不實(shí)現(xiàn)這個有趣的東西。

 

字典(dict)

用過C#中Collections的人對Hashtable應(yīng)該不會陌生,Python數(shù)據(jù)類型里的哈希表就是字典(dict)了。與set類似,字典是一種無序存儲結(jié)構(gòu),它包括關(guān)鍵字(key)和關(guān)鍵字對應(yīng)的值(value)。#t#

C#程序員需要了解的就是,在Python中dict是一種內(nèi)置的數(shù)據(jù)類型,定義方式為:dictionary = {key:value},當(dāng)有多個鍵值對時,使用逗號進(jìn)行分割。

字典里的關(guān)鍵字為不可變類型,如字符串、整數(shù)、只包含不可變對象的元組,列表等不能作為關(guān)鍵字。字典中一個鍵只能與一個值關(guān)聯(lián),對于同一個鍵,后添加的值會覆蓋之前的值。

學(xué)過數(shù)據(jù)結(jié)構(gòu)的人對字典的散列查找效率應(yīng)該都有認(rèn)識,所以我建議在可能的情況下盡量多用字典,其它的就不多寫了。關(guān)于Python數(shù)據(jù)類型中dict類型(以及l(fā)ist、tuple、set)提供的主要方法,可以參考專門介紹Python的各種書籍,大多會提供一個詳細(xì)的方法列表。

 

責(zé)任編輯:張浩 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2021-03-02 21:52:48

Hive數(shù)據(jù)類型

2023-04-06 07:49:23

Python數(shù)據(jù)類型

2010-09-17 14:49:04

Java數(shù)據(jù)類型

2010-10-27 14:52:04

ORACLE數(shù)據(jù)類型

2022-03-01 23:31:29

Python編程語言變量

2010-08-06 10:32:49

Flex數(shù)據(jù)類型

2024-05-28 11:44:54

Redis數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫

2019-05-23 11:42:04

Java語法糖編程語言

2022-03-21 19:45:06

序列數(shù)組Python

2021-06-12 09:39:50

Python字典數(shù)據(jù)類型Python基礎(chǔ)

2023-11-08 18:05:06

Python類型技巧

2022-10-27 20:42:04

JavaScripJava編程語言

2010-04-01 10:55:48

Oracle 數(shù)據(jù)類型

2010-03-11 15:56:15

Python列表

2023-10-17 07:57:56

Python數(shù)據(jù)類型

2024-12-09 12:00:00

Python編程數(shù)據(jù)類型轉(zhuǎn)換

2019-08-12 11:40:48

數(shù)據(jù)庫SQLite3數(shù)據(jù)類型

2025-03-14 10:34:22

2023-10-19 07:42:37

Python數(shù)據(jù)類型

2010-09-13 10:21:26

sql server2
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號