一、列表元素數字
1.運算符
1)數學運算符:+,*、
列表1+列表2 - >產生一個新的列表,新列表中的元素是兩個列表中元素的合并
list1=[1,2,3]
list2=['張三','李四']
list1+list2=[1,2,3,'張三','李四']
列表n/n列表 ->列表中的元素重復n次產生一個新的列表
list1*3=[1,2,3,1,2,3,1,2,3]
2)比較運算符:兩個列表從元素及元素順序及元素數量一樣兩個列表才相等
==,!=
注意:is
變量1 is 變量2 ->判斷地址是否相等
list3=[1,2,3,4]
list4=[1,2,3,4]
print(list3==list4) true
print(list3 is list4) ==print(id(list3)==id(list4) false
2.in 和 not in
元素 in 列表 -> 判斷列表中是否存在指定元素,結果布爾值
元素 not in 列表-> 判斷列表中是否不存在指定元素,結果布爾值
"""
name=['張一','李二','王三']
print('張一' in name)#true
print('張二' in name)#false
print(['張一'] in name)#false
"""
,<,<=,>=
print([10,100,3,100])>[10,20]
判斷大小,從列表第一個元素開始,當首元素大于比較列表式,直接大于,
當首元素小于等于是,判斷下一元素,以此類推,
"""
"""
3.相關函數
1)len(序列) - 獲取序列的長度(列表的個數)
2)max/min - 或去序列中的最大值或者是最小值
對于序列的要求:
a.序列中所有的元素的類型一致(數字看成一種類型)
b.在一致的前提下,元素本身支持比較大小
print('abcdef'<'af')
x=91
scores=[23,89,89,78,90,91,12]
3)sum(數字序列) - 求序列中所有元素的和
print(sum(range(101)))
4)list
list(序列) - 將指定的數據轉換成列表;但是數據必須是序列 (所有的序列都可以轉換成列表)
數字無法轉換
print(list(100)) TypeError: 'int' object is not iterable
print(list('hello')) ['h','e','l','l','o']
二、列表相關的函數
1.列表.count(元素) ->統計列表中指定元素的個數
name=['曹操','趙云','劉備','小喬','貂蟬','呂布','諸葛亮','司馬懿','小喬']
print(name.count('小喬'))
2.列表.extend(序列)-將序列中的元素全部添加到列表中
name=['曹操','趙云','劉備','小喬','貂蟬','呂布','諸葛亮','司馬懿','小喬']
name.append('后裔')
['曹操', '趙云', '劉備', '小喬', '貂蟬', '呂布', '諸葛亮', '司馬懿', '小喬', '后裔']
name.extend('后裔')
['曹操', '趙云', '劉備', '小喬', '貂蟬', '呂布', '諸葛亮', '司馬懿', '小喬', '后', '裔']
當相與name.extend(['后',裔')
print(name)
3.列表.index(元素) ->獲取指定元素在列表中的下標
a.如果元素不存在會報錯
b.如果元素有多個
4.列表.revers()->將原來的列表倒敘(反過來)
nums=[1,9,3]
new_num=num[::-1]
print(nums,new_num)
5.列表.clear() ->清空列表
nums =[10,3,50,3,90]
num.clear()
print(num)
注意:一般清空列表使用clear(如同箱子把東西導出來,減少內存提高效率)
6.列表.copy() ->復制列表中的元素產生一個新的列表,將新列表的地址返回,賦值后兩個相互不影響
和(列表[:])的功能是一樣的,都屬于淺拷貝
num=num1 :直接賦值會導致影響原先的列表
num1=num.copy :創建一個新的地址,數值相同但是對num不影響
num=['曹操','趙云','劉備','小喬']
num1=num.copy()
del num1[-1]
print(num)['曹操', '趙云', '劉備', '小喬']
print(num1)['曹操', '趙云', '劉備']
"""
"""
7.列表.sort()->建列表中的元素從小到大排序
功能:(直接修改列表元素的順序,不產生新的列表)
類型必須是一樣的,不同類型的數據不能比較大小
列表.sort(reverse=True)==列表.sort();列表.reverse()
列表從大到小排序
scores=[11,12,8,9,10,1,2,]
scores.sort()
print(scores)
"""
"""
8.排序函數:sorted(序列)->
不修改原序列,排序號產生一個新的列表(從小到大升序)
sorted(序列,reverse=True)->不修改原序列,排序號產生一個新的列表(從大到大升序)
reverse(序列) - 將序列中的元素倒敘,產生一個新的序列對應的迭代器,為迭代器類型數據
scores=[11,12,8,9,10,1,2,]
new_scores=sorted(scores)
print(scores)
三、元組
1.元組(tuple)
元組就是不可變列表
元祖是容器性數據類型,將()作為容器的標志,里面多個元素用逗號隔開:
(元素1,元素3,元素3,....)
元組不可變--(元祖中元素的值。元素的個數,元素的排序不可變)
但是元組有序的(支持下標操作)
元素可以是任何類型數據
2.查
和列表一樣的操作
1)獲取元素
列表獲取元素的操作元祖都支持
2)相關運算
tuple(數據) - 將數據轉換成元組(數據必須是序列)
3.元組特有或使用頻率偏高的操作
1)單個元素的元組:(元素,)
list1=(10,)
print(list1,type(list1))
2)單獨使用元祖的值,()小括號可以省略
tuple2= 10, 20, 30
print(tuple.type(tuple2)
3)可以通過讓變量的個數和元組中元素的個數保持一致來分別獲取元組中的元素
變量1,變量2,變量3,...=元組
4)同時聲明多個變量獲取元祖中的元素的時候,可以讓變量的個數可以比元組中的個數少
多個變量中的某一個變量的前面必須加(只有一個有);帶的變量可以獲取不帶*的變量獲取完剩下的部分
四、數字類型
python中和數字相關的類型:
整型(int)、浮點型(float)、布爾(bool)、復數(complex)
1、整型(int) - 所有整數對應的類型(python2.x整型除了int還有long)
支持2進制、8進制、16進制的表示方式
int(數據) ->將制定的數據轉換成整數
1)所有的浮點數和布爾都可以轉換成整型
2)本身是整數數字的字符串可以轉換成整型
2、浮點型(float)所有帶小數點的數對應的類型;支持科學計數法:3e4==310*4
1)所有的整數和布爾都可以轉換成浮點數
print(float(100))==100.0
2)本身是數字的字符串可以轉換成浮點數
3、布爾(bool)- 只有True和False;True本質就是1,False的本質就是0
bool(數據)-將制定數據轉換成布爾值;
所有的數據的都能轉換成布爾,所有為0為空的值都轉換成false,其他的都是True
布爾所有為空值得表達方式,表達結果為False:
print(bool(0),bool(0,0),bool(''),bool([]),bool(()),bool(None))
print(True==1)#True
print(True+1)#2
print(False*3)#0
4、復數(complex) - 由實部和虛部組成的數就是復數,實部+虛部j;python直接支持復數運算
注意:如果虛部是1,這個1不能省
5、數學模塊
import math 數學模塊-提供數學相關的方法和數據
import cmath 和復數相關的數學模塊
求絕對值:math.fabs(-20)