python數據類型匯總_python基礎數據類型匯總

#!/usr/bin/env python

# -*- encoding:utf-8 -*-

# author:Administrator

# make_time:2018/6/9

‘‘‘

數據類型:

不可變數據類型:int、str、bool、tuple、frozenset

可變數據類型:list、dict、set

公共方法:count()、len()、del、copy()

len(所有都有)

count(數字、字典、集合沒有此方法)

index(數字、字典、集合沒有此方法)

可變數據類型都有copy()

整數、字符串、列表、元組、布爾可以相加(字典、集合不可相加)

整數: int

# 不可變數據類型

bit_length() 查看數字在內存中最少占幾位

數學運算:+ - * / //(整除) % **(冪)

比較運算: >,=,<=,==,!=

賦值運算:=,+=,*=,/=,-=,%=,,//=,**=

邏輯運算:not or and

從左到右

優先級:() not and or

1(非零整數):true 0:false

1 or 2 左邊非零取左邊,0 取右邊,and相反

身份運算:is is not 判斷兩個對象是不是為同一個內存地址

成員運算:in not in 判斷字符/元素是否在目標中,str,list,dict,set,tuple

位運算:

& 與運算 1 1 得1 , 1 0 得0 ,0 0 得 0

| 或運算 1 1 得1,1 0 得1 ,0 0 得0

方法:

int.bit_lens() 查看數字在內存中占的字節數

布爾值:True False

#不可變數據類型、True為1,False為0 (0,None,False,[],(),{},set(),都為False)

字符串: str

# 不可變數據類型、有序、可切片,可迭代循環,交互默認輸入為字符串

# 以單或雙引號表示 :‘元素‘

# 不可增刪改

切片:從左到右字符串中的索引從0開始

[start:end:step] 顧頭不顧尾

[1:3] 字符串中索引1到2的字符

[1:-1] -1 表示最后一個字符

操作方法:

del str 刪除字符串

len(str) 統計字符串長度,內置方法

str.count(元素) 統計字符串中的元素出現的個數

str.center(寬度,"填充物可不寫") 指定長度居中顯示,默認填充物為空格

str.title() 非字母隔開得首字母大寫

china country --> China Country

* str.capitalize() 首字母大寫,其他分開的單詞首字母小寫

china_Country --> China_country

str.swapcase() --->字符串大小寫互轉

** str.upper() ----> 全部變成大寫

str.isupper() 是否全部為大寫

** str.lower() -----> 全部變成小寫

str.islower() 是否全部為小寫

str.encoding("將字符串以何種編碼集進行編碼")

** str.startswith("元素") 判斷字符串是否以什么開頭,返回bool值

str.endswith("元素")

*** str.find("元素",star,end) 找元素的索引,如果元素不存在,返回-1

*** str.index("元素",star,end) 找元素的索引,如果元素不存在,報錯

*** str.strip("元素可空") 去掉兩端的\n,\t,\s等空白字符,也可指定字符從兩端刪

str.lstrip()

str.rstrip()

***** str.split("分割符可空,默認空格,多個空格看成一個") 分割字符串,返回列表

str.lsplit()

str.rsplit()

*** str.replace(old,new,替換幾次)

*** str.format() 字符串格式化

"{}my name is {}".format(11,"秀文")

"{1}my name is {2},next year is {1}".format(11,"秀文")

{id}is old boy ,my name {name}".format(id =11,name="sun") 不能放字典

% 百分號的方式格式化

"my name is %s ,i am %d" %("sun",30)"

"my name is %(name)s ,i am %(age)d" %(dic)" 可以放字典

%s 字符串

%d 整數

%f 小數 %.2f 保留2為小數

3.6以上版本格式話可以:f"{name}已經登錄了"

str.isalnum() 是否為字母或數字,返回bool值

str.isalpha() 是否全為字母

str.isdigit() 是否全為數字

str.isspace() 是否有空白字符

***** str.join(iterable可迭代) 字符串拼接,括號里一定得是可迭代得數據,且只能為一個參數

注:

"sun".join([11,22]) 報錯,join不能將帶有數字得list轉換成字符串,需要先將數字轉換成字符串

"*".join("%s" %id for id in list)

object in str 判斷元素是否在str中

列表:list

# 可變數據類型,有序,可切片,可迭代循環,元素可為任意類型數據

# 以[元素,]表示

# 可增刪改查

切片:

同字符串一樣,通過索引切

增:

list.append(元素) 向列表末尾添加元素

list.insert(index,元素) 指定索引位置向列表添加元素

list.extend(iterable) 迭代的向列表末尾添加多個元素

刪:

list.pop(index) 根據索引刪除,不添加元素時,默認刪除最后一個

list.remove(元素/object) 根據元素刪除

del list 刪除列表

del list[:3] 根據索引切片刪除

list.clear() 清空列表

改:

lis[index] = new_data 索引切片修改

lis = [11,22,33,44,55]

lis[:2] = [66,77,88] # lis = [66, 77, 88, 33, 44, 55] 步長為1時,不考慮個數對應,切的時一片空間

lis[:3:2] = [66,77] # 報錯,步長不為1時,左右元素個數需一致

#ValueError: attempt to assign sequence of size 3 to extended slice of size 2

查:

lis[index] 通過索引查

for i in list: 通過迭代循環查,i為列表中的每個元素

方法:

del list 刪除列表

len(list) 統計列表的長度

list.count(object) 統計列表中指定元素出現的個數

list.index(object,start,end) 查找元素的索引

list.sort(reverse=False) 排序,默認為升序,當reverse值設為True時,降序排列

list.reverse() 列表中元素順序反轉過來

list.copy() 列表淺拷貝

object in list 判斷對象是否在列表中

元組:tuple

# 不可變數據類型,有序,可切片,可迭代循環,元素可以是任意數據類型

# 不可增刪改

# 以括號表示()

查:

tuple[2] 通過切片查

for i in tuple: 通過迭代循環查

方法:

tuple.count(object)

tuple.index(object,start,end)

len(tuple)

object in tuple

字典:dict

# 可變數據類型,鍵值對存在,鍵不可變,可哈希的(int,str,bool,frozenset),值可以是任意數據類型,無序,不可切片,可迭代循環查詢

# 以大括號表示{key:value}

# 可整刪查

增:

dic = {}

dic[new_key] = new_data 直接增加,如果key存在則更新value

dic.setdefault(key,value) 本方法一旦key,value都創建,且value指定的不是[]、{}、set(),值都不能更改

new_dic = dict.fromkeys(iterable,values)

new_dic = dict.fromkeys([11,22],[33,44]) -->{11: [33, 44], 22: [33, 44]}

前面的key對應相同的value,且當后面的value為可變數據類型時如列表,改變任意一個value,

另一個也會改變,淺拷貝,否則不改變

刪:

dic.pop(key) 指定key刪除,默認刪除最后一項,返回刪除key對應的value,如果key不存在報錯 KeyError:

dic.popitem() 隨機刪除 ,返回刪除的鍵值對以tuple形式顯示

3.6以上字典內置為有序,popitem()默認刪除最后一個,但面試要說隨機刪除

del dic[key] 指定key刪除,如果key不存在報錯 KeyError:

del dic

dic.clear()

改:

dic[key] = new_data

dic.update(dic1) dic將dic1更新到自己的字典中,key重復更新為新value

查:

dic[key] key不存在時,報錯

dic.get[key,"不存在時自定義返回值"] key不存在時默認返回None,也可自定義返回值

dic.keys() 以仿列表形式存所有key,可迭代

dic.values()

dic.items()

for i in dic i 為dic的key

方法:

len(dic)

集合:set

# 可變數據類型,無序,元素唯一不重復且不可哈希即不可變數據類型,可迭代

# 以{}形式表現,主要用于去重

# 不可切片(無序),可增刪改查

增:

set.add(元素)

set.update(iterable) 迭代的更新到set中

刪:

set.pop() 隨機刪除

set.remove(元素) 沒有報錯

set.clear()

del set

改:

因無序,只能通過先刪除后整加的方式

set.remove(待改元素)

set.add(新增元素)

查:

for i in set:

方法:

len(set)

交集: & 相同的部分

并集: | 合體

差集 a-b 去掉在a中b有的元素,減法

s = frozenset([11,22,33]) 將可變數據類型改為不可變

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258176.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258176.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258176.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

開發實戰細節之——關于整型轉換為字符串類型的性能與實現分析

細節決定成敗&#xff0c;開發中往往從一些細節就可以看出一個程序員的開發水準&#xff0c;下面我就給大家分享一下開發中最最常見的int轉換為String類型的方法及其性能解析。 一般大家最常用的方法有 方法一&#xff1a;String s1 String.valueOf(i); 方法二&#xff1a;St…

華為服務器故障燈不開機_華為服務器日常維護及故障處理介紹V.ppt

通電策略 power on上電自動開機。 power off上電不自動開機&#xff0c;需按前面板電源按鈕才能開機。 Last State上電開機與否取決于上次斷電之前的狀態&#xff0c;如果是關機狀態則通電后不能自動開機&#xff0c;如果是開機狀態則通電后可以自動開機。 硬件狗 BMC WDT Acti…

《黑客大曝光:移動應用安全揭秘及防護措施》一2.2 攻擊與對策

本節書摘來自華章出版社《黑客大曝光&#xff1a;移動應用安全揭秘及防護措施》一書中的第2章&#xff0c;第2.2節&#xff0c;作者 &#xff08;美&#xff09;Neil Bergman &#xff0c;更多章節內容可以訪問云棲社區“華章計算機”公眾號查看 2.2 攻擊與對策 好&#xff0c…

Android 4.2 通知通過PendingIntent啟動Activity失敗的問題

今天突然發現在Android 4.2手機上點擊通知消息無法打開Activity的問題&#xff0c;具體Logcat信息如下&#xff1a; 01-09 11:37:43.733: WARN/ActivityManager(92): Unable to send startActivity intent java.lang.SecurityException: Permission Denial: starting Intent { …

ubuntu安裝sublime

添加sublime text 3的倉庫&#xff1a; sudo add-apt-repository ppa:webupd8team/sublime-text-3 更新軟件庫 sudo apt-get update 安裝Sublime Text 3: sudo apt-get install sublime-text-installer 安裝sublime2: sudo add-apt-repository ppa:webupd8team/sublime-text-2 …

jdbctemplate mysql 配置_Spring JDBCTemplate配置使用

一、開發環境Windows 10IntelliJ IDEA 2016.1 旗艦版JDK1.8二、項目和數據庫結構項目結構&#xff1a;數據庫(MySQL 5.5.39)&#xff1a;/*Navicat MySQL Data TransferSource Server : localhostSource Server Version : 50539Source Host : localhost:3306Source Database : …

細數家庭安防五大亂象 何時能步入正軌

雖然智能家居行業在我國的成長已逾十個年頭了&#xff0c;但是目前市場離成型仍然有一段距離。市場上可謂“亂象”叢生&#xff0c;這些絆腳石嚴重阻礙了行業的良性發展。市場亂象繁生&#xff0c;智能家居從概念炒作到價格高抬&#xff0c;相關預測顯示&#xff0c;若真如電商…

HDU 1181 變形課

Problem Description呃......變形課上Harry碰到了一點小麻煩,由于他并不像Hermione那樣可以記住全部的咒語而任意的將一個棒球變成刺猬什么的,可是他發現了變形咒語的一個統一規律:假設咒語是以a開頭b結尾的一個單詞,那么它的作用就恰好是使A物體變成B物體. Harry已經將他所會的…

多線程(同步代碼塊和同步函數)

線程安全問題 當多條語句在操作同一個線程共享數據時&#xff0c;一個線程對多條語句只執行了一部分&#xff0c;還沒有執行完&#xff0c; 另一個線程參與進來執行。導致共享數據的錯誤。解決辦法&#xff1a; 對多條操作共享數據的語句&#xff0c;只能讓一個線程都執行…

沒有基礎學python_python沒有基礎好學嗎

什么是Python&#xff1f;Python是一種計算機程序設計語言。你可能已經聽說過很多種流行的編程語言&#xff0c;比如非常難學的C語言&#xff0c;非常流行的Java語言&#xff0c;適合初學者的Basic語言&#xff0c;適合網頁編程的JavaScript語言等&#xff0c;Python是他們其中…

C++中的頭文件和源文件

一、C編譯模式 通常&#xff0c;在一個C程序中&#xff0c;只包含兩類文件——cpp文件和h文件。cpp文件被稱作C源文件&#xff0c;里面放的都是C的源代碼&#xff1b;h文件則被稱作C頭文件&#xff0c;里面放的也是C的源代碼。 C 語言支持“分別編譯”&#xff08;separ…

Hibernate 事物隔離級別 深入探究

目錄 一、數據庫事務的定義 二、數據庫事務并發可能帶來的問題 三、數據庫事務隔離級別 四、使用Hibernate設置數據庫隔離級別 五、使用悲觀鎖解決事務并發問題 六、使用樂觀鎖解決事務并發問題 Hibernate事務與并發問題處理&#xff08;樂觀鎖與悲觀鎖&#xff09; 一、數據庫…

Linked List Cycle II - LeetCode

Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note: Do not modify the linked list. Follow up:Can you solve it without using extra space? 思路&#xff1a;維護兩個指針slow和fast。先判斷是否存在環。 在判斷是否…

mysql 無論輸入什么都是現實 not found_NotAPanda

前言面試競爭力越來越大&#xff0c;是時候擼一波Vue和React源碼啦&#xff1b;本文從20個層面來對比Vue和React的源碼區別&#xff1b;如果需要了解API的區別&#xff0c;請戳&#xff1a;Vue 開發必須知道的 36 個技巧React 開發必須知道的 34 個技巧文章源碼&#xff1a;請戳…

這五張PPT告訴你,如何打造無人駕駛“最強大腦”

“英特爾在談無人駕駛&#xff0c;會成為汽車制造商嗎?NO!我們要為無人駕駛提供從車、連接到云的‘最強大腦’。” 在昨天于北京舉行的英特爾無人駕駛分享會上&#xff0c;英特爾無人駕駛事業部中國區市場總監徐偉杰在主旨演講中開門見山。 這也是英特爾無人駕駛事業部去年11月…

javascript之ua與urlSchema

我們首先拿到瀏覽器ua: 1 var ua navigator.userAgent; 1 if (ua.indexOf("MicroMessenger") > -1) { 2 alert("微信瀏覽器"); 3 } 1 if (ua.indexOf("iPhone") > -1) { 2 alert("iphone"); 3 } 其…

ezdpl Linux自動化部署實戰

最近把ezdpl在生產環境中實施了&#xff0c;再加上這段時間的一些修改&#xff0c;一并介紹一下。再次申明&#xff1a; ezdpl不是開箱即用的&#xff0c;需要根據自己的應用環境定制。對初學者來說使用起來反倒困難更多、風險更大。它不是一個通用的項目&#xff0c;更多的是提…

無法打開輸入文件mysql_錯誤LNK1181,pip安裝“無法打開輸入文件”mysqlclient.lib'...

我是Python新手&#xff0c;正在嘗試安裝mysql模塊&#xff0c;但是在解決了其他5個問題之后&#xff0c;我現在遇到了一個問題&#xff0c;當我嘗試安裝該模塊時&#xff0c;會出現以下日志&#xff1a;PS C:\Users\poste> pip install mysqlCollecting mysqlUsing cached …

俄羅斯將封殺LinkedIn 推動個人數據本地化

北京時間11月11日上午消息&#xff0c;莫斯科一家法院本周四支持了在俄羅斯封殺職業社交網站LinkedIn的決定。 俄羅斯聯邦通信監管局&#xff08;Roskomnadzor&#xff09;之前要求國內外企業從2015年9月開始&#xff0c;必須將所有俄羅斯用戶的個人數據存儲在該國境內。Linked…

python的datetime舉例_Python datetime模塊的使用示例

1、獲取當前年月日時分秒# -*- encodingutf-8 -*-import datetimenow datetime.datetime.now()print("now:{}".format(now))year now.yearprint("year:{}".format(year))month now.monthprint("month:{}".format(month))day now.dayprint(&q…