Python超基礎操作
組的表示方式:列表
定義一個列表的基本方式
type([1,2,3,4,5,6])
可以是字符串、布爾類型、數字都是可以在列表中出現的
列表中也可以嵌套列表
[[1,2],[3,4],[True,False]]
(二維數組)嵌套列表
列表的函數和方法:
函數 | 意義 |
---|---|
len() | 列表元素的個數 |
len() | 列表元素的個數 |
cmp() | 比較兩個列表的元素 |
max() | 列表元素的最大值 |
min() | 列表元素中的最小值 |
list() | 將元組轉化為列表 |
append() | 在列表末尾添加新的對象 |
count() | 統計某個元素在列表中出現的次數 |
extend() | 在列表末尾一次性追加另一個序列中的多個值 |
index() | 從列表中找出某個值第一個匹配項的索引位置 |
insert() | 將對象插入列表 |
pop([index=-1]) | 移除列表中的一個元素(默認最后一個元素),并且返回該元素的值 |
remove() | 移除列表中某個值的第一個匹配項 |
reverse() | 反向列表中元素 |
sort(cmp=None, key=None, reverse=False) | 對原列表進行排序 |
訪問某一列元素中的某一個元素
[“新月打擊”,“蒼白之瀑”,“月之降臨”,“月神沖刺”][0] ===>“新月打擊”
[“新月打擊”,“蒼白之瀑”,“月之降臨”,“月神沖刺”][3] ===>“月神沖刺”
[“新月打擊”,“蒼白之瀑”,“月之降臨”,“月神沖刺”][0:2] ===>[“新月打擊”,“蒼白之瀑”]
[“新月打擊”,“蒼白之瀑”,“月之降臨”,“月神沖刺”][-1:] ===>[“月神沖刺”]
:的形式返回的是列表
索引的方式返回的是字符串
刪除列表元素
list1 = [‘physics’, ‘chemistry’, 1997, 2000] del list1[2] print list1
===>[‘physics’, ‘chemistry’, 2000]
在已有的列表中添加一個列表
[“新月打擊”,“蒼白之瀑”,“月之降臨”,“月神沖刺”]+[“混沌之球”,“安其拉”]
===>[“新月打擊”,“蒼白之瀑”,“月之降臨”,“月神沖刺”,“混沌之球”,“安其拉”]
列表乘數字
[“點燃”,“爆炸”]*3 ===>[“點燃”,“爆炸”,“點燃”,“爆炸”,“點燃”,“爆炸”]
元組
(元組中的元組值是不允許刪除的)
定義元組
(1,2,3,4,5,6)
(1,"-1",True)
可以是數字、字符串、布爾類型
刪除元組 del 元組名稱
查看元組中的內容
(1,2,3,4,5,6)[0] ===> 1
(1,2,3,4,5,6)[0:2] ===>(1,2)
(1,2,3)+(4,5,6) ===>(1,2,3,4,5,6)
(1,2,3)*3 ===>(1,2,3,1,2,3,1,2,3)
int整形 str字符串 list列表 class類 tuple元組
type((1,2,3)) ===>tuple
type(1) ===>int
type([1,2,3]) ===>list
type(“hello”) ===>str
type((1)) ===>int
type((1,) ===>tuple
type([1]) ===>list
元組的內置函數
函數 | 意義 |
---|---|
cmp() | 比較兩個元組元素 |
len() | 計算元組元素個數 |
max() | 元組元素的最大值 |
min() | 元組元素的最小值 |
tuple() | 將列表轉化為元組 |
序列(組)的概念
str list tuple 都是序列
“hello world”[2] ===>“l”
[1,2,3][2] ===>3
切片操作
[1,2,3,4,5][0:3] ===>[1,2,3]
[1,2,3,4,5][-1:] ===>[5]
“hello world”[0:8:2] ===>“hlow”
in和not in
3 in [1,2,3,4,5,6] ===>True
3 not in [1,2,3,4,5,6] ===>False
列表的長度
len([1,2,3,4,5,6]) ===>6
字符串的長度
len(“hello world”) ===>11
max([1,2,3,4,5,6]) ===>6
man(“hello world”) ===>“w” 根據ascll
min([1,2,3,4,5,6]) ===>1
查看ascll碼
ord(“w”) ===>119
set集合(無序,所以不可以用索引;不重復)
定義一個集合
type({1,2,3,4,5,6}) ===>set
{1,2,3,4,1,2,3,4} ===>{1,2,3,4}
len({1,2,3}) ===>3
1 in {1,2,3} ===>True
1 not in {1,2,3} ===>False
集合的特殊操作
(從第一個集合中剔除第二個集合中的元素 ) 求兩個集合的差值
{1,2,3,4,5,6}-{3,4} ===>{1,2,5,6}
(在兩個集合中找出相同的元素) 求兩個集合的交集
{1,2,3,4,5,6}&{3,4} ===>{3,4}
(把兩個集合合并到一塊) 求兩個集合的并集
{1,2,3,4,5,6}|{3,4,7} ===>{1,2,3,4,5,6,7}
type({}) ===>dict type(set()) ===>set
len(set()) ===>0
dict字典(集合類型,無序,不可以有重復的key)
定義一個字典(有很多的value,key)
{key1:value1,key2:value2,key3:value3,…}
type({1:1,2:2,3:3}) ===>dict
{“Q”:“新月打擊”,“W”:“蒼白之瀑”",E":“月之降臨”,“R”:“月神沖刺”}
刪除字典元素
dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’}
del dict[‘Name’] # 刪除鍵是’Name’的條目
dict.clear() # 清空字典所有條目
del dict # 刪除字典 ===>字典不存在了
通過key訪問/得到value
{“Q”:“新月打擊”,“W”:“蒼白之瀑”",E":“月之降臨”,“R”:“月神沖刺”}[“Q”] ===>“新月打擊”
value可以是任意的類型 str int float list set dict
key必須是不可變的類型 str int
type({“Q”:“新月打擊”,“W”:“蒼白之瀑”",E":{1:1},“R”:“月神沖刺”}) ===>dict
字典內置函數和方法:
函數/方法 | 意義 |
---|---|
cmp() | 比較兩個字典元素 |
len() | 計算字典元素個數,即鍵的總數 |
str() | 輸出字典可打印的字符串表示 |
type() | 返回輸入的變量類型,如果變量是字典就返回字典類型 |
clear() | 刪除字典內所有元素 |
copy() | 返回一個字典的淺復制 |
fromkeys(seq, val) | 創建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值 |
get(key, default=None) | 返回指定鍵的值,如果值不在字典中返回default值 |
has_key() | 如果鍵在字典dict里返回true,否則返回false |
items() | 以列表返回可遍歷的(鍵, 值) 元組數組 |
keys() | 以列表返回一個字典所有的鍵 |
setdefault(key, default=None) | 和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設為default |
dict.update(dict2) | 把字典dict2的鍵/值對更新到dict里 |
dict.values() | 以列表返回字典中的所有值 |
pop(key,default) | 刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值 |
popitem() | 隨機返回并刪除字典中的一對鍵和值 |
變量
變量 名字
定義一個變量(命名可讀性要強)
A=[1,2,3,4,5,6]
B=[1,2,3]
A*3+B+A ===>[1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3]
skill=[“新月打擊”,“蒼白之瀑”]
變量名的規則:
1、只可以使用字母下劃線數字
2、首字符不可以是數字
3、系統關鍵字,不可以用在變量名中 (保留關鍵字:系統關鍵字)
4、變量名是區分大小寫的
(1)
a=1
b=a
a=3
print(b) ===>1
(2)
a=[1,2,3,4,5]
b=a
a[0]=”1”
print(a) ===>[“1”,2,3,4,5]
print(b) ===>[“1”,2,3,4,5]
int str tuple值類型(數值不可以改變) list set dict引用類型(數值可以改變)
a=”hello”
a=a+” python”
print(a) ===>”hello python”
id()—內存地址
b=”hello”
id(b) ===>55399200
b=b+”python”
id(b) ===>55336696
元組touple和列表list的區別
a=[1,2,3]
id(a) ===>59570576
hex(id(a)) ===>0x38cf99
a[0]=”1”
id(a) ===>59570576
追加元素append()
a=(1,2,3)
b=[1,2,3]
b.append(4)
print(b) ===>[1,2,3,4]
(1)
a=(1,2,3,[1,2,4])
a[2] ===>3
a[3] ===>[1,2,4]
a[3][2] ===>4
(2)
a=(1,2,3,[1,2,[“a”,”b”,”c”]])中“b”的獲取
a[3][2][1] ===>”b”
(3)
a=(1,2,3,[1,2,4])
a[3][2]=”4”
print(a) ===>(1,2,3,[1,2,”4”])
元組不可以改變,但是元組中的列表是可以改變的
Python的變量是不需要定義的
運算符
1、算數運算符 + - * / // %
“hello”+” world” ===>”hello world”
加法 [1,2,3]*3 ===>[1,2,3,1,2,3,1,2,3]
乘法 3-1 ===>2
減法 3/2 ===>1.5
除法 3//2 ===>1
整除 5%3 ===>2
余數 2 2 ===>4 2的平方
2 5 ===>32 2的五次方
2、賦值運算符= += -= /= %= *= //=
(1)
c=1
c=c+1
print? ===>2
簡化:
c+=1
print? ===>3
(2)
a=3
b=2
b-=a
print(b) ===>1
(3)
b *=a
print(b) ===>3
3、比較(關系)運算符== != > < >= <=
1==1 ===>True
“a”>”b” ===>False
1<1 ===>False
1>=1 ===>True
1<=2 ===>True
1!=2 ===>True
4、邏輯運算符 and or not 且或非(操作布爾類型,返回不二類型結果)0是False,1是True
and 兩個都為真的時候才為真,一個假就是假
True and True ===>True
True and False ===>False
or 有一個是真的就是真的,全假為假
True or False ==>True
Flase or False ===>False
not真就是假,假就是真
!True ===>False
!False ===>True
5、成員運算符 in not in
a=1
a not in [1,2,3,4,5] ===>False
b=6
b in [1,2,3,4,5] ===>False
c=”a”
c in {“c”:1} ===>False(是針對key值進行判斷的)
6、身份運算符 is is not
a=1
b=2
a is b ===>False
a=”hello”
b=”world”
a not is b ===>True
如果兩個變量的取值相等,則is返回True
值是否相等 is 不是比較值相等。is比較的是兩個變量的身份時候相等
思考題
a={1,2,3}
b={2,1,3}
c=(1,2,3)
d=(2,1,3)
a==b ===>True 比較的取值是否相同,集合是無序的
a is b ===>False 比較兩個變量的id地址
c ==d ===>False 元組是屬于序列是有序的
c is d ===>False 比較兩個變量的id內存地址
7、位運算符& | ^ ~ << >>
運算符 | 意義 |
---|---|
&按位于 | 參與運算的兩個值,如果兩個相應位都為1,則該位結果為1,否則為0 |
按位或I | 只要對應的二個二僅為有一個為1時,結果位就為1 |
^按位異或 | 當兩對應的二進位相異時,結果為1 |
~按位取反 | 對數據的每個二進制位取反,即把1變為0,把0變為1 |
<<左移動 | 運算數的各二進位全部左移若干位,由<<右邊的數字指定了移動的位數,高位丟棄,低位補0 |
>>右移動 | 把>>左邊的運算數的各二進位全部右移若干位,>>右邊的數字指定了移動的位數 |
如何判斷變量的值、身份和類型?
A==b是對值的判斷
A is b 是對身份的判斷
類型 type 的判斷
對象的三個特征:身份、類型、值(一切都是對象)
如何判斷變量的類型?
(1)
a =”hello”
type(a) ==int ===>False
(2)判斷變量的類型函數isinstance
isinstance(a,str) ===>True
運算符的優先級
括號的優先級是最高的()
指數(最高)**
~ + - 按位取反、一元加號和減號
/ % // * 乘、除、取余、取整數
加法減法+ -
右移、左移運算符 << >>
& 按位于
^ |位運算符
<= < > >= 比較運算符
< > == != 等于運算符
= %= /= //= -= += *= **= 賦值運算符
is is not 是 不是
in not in在 不在
not and or 且或非 not> and>or
表達式:
表達式expression是運算符operator和操作數operand所構成的序列(操作數和運算符是由順序的)
練習:
(1)
a=1
b=2
c=3
a+b*c ===>7
(2)a or b and c ===>1(先and后or)
練習
a=1
b=2
c=2
(not a) or ((b +2) ==c) ===>False
流程控制語句
條件控制 if else
(1)
mood = True
if mood :
print(“go to left”)
else :
print(“go to right”)
(2)
acctount = “qiyue”
password = “123456”
print(“please input acctount”)
user_acctount = input()
print(“please input password”)
user_password =input()
if acctount user_acctount and password user_password :
print(“success”)
else :
print(“fail”)
練習:輸入1時返回apple,輸入2時返回orange,輸入3時返回banana,別的情況返回supermarket
print(“請輸入a的值”)
a=int(input())
if a 1:
print(“apple”)
else:
if a 2:
print(“orange”)
else:
if a==3:
print(“banana”)
else:
print(“supermarket”)
循環控制語句for while
1、while
while condition:
代碼
例子:
(1)
CONDITION=True
while CONDITION:
print(“I am while”)
一直進行循環模式,必須手動停止
(2)
counter = 0
while counter<=9 :
counter += 1
print(counter)
else :
print(“最強王者”)
當執行完while時,就會執行else中的代碼
如何避免一直循環?
while后不可以為常量
2、for:主要是用來遍歷/循環序列或集合、字典
for target_list in expression_list:
pass
例子:
(1)
a=[“apple”,“orange”,“banana”,“grape”]
for x in a:
print(x)
(2)
d=[[“apple”,“orange”,“banana”,“grape”],(1,2,3)]
for x in d:
for y in x:
if y== “orange”:
break
print(y)
else:
print(“fruit is gone”)
range(start,stop,step)函數
start:計數開始
stop:計數結束
step:步長
(1)range(0, -10, -1) # 負數
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
for x in range(0,10,2):
print(x)
輸出0 2 4 6 8
(2)
a=[1,2,3,4,5,6,7,8]
for i in range(0,len(a),2):
print(a[i],end="|")
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
