Python之路,Day2-python基礎2

節內容python

一、列表、元組操做git

二、字符串操做api

三、字典操做app

四、集合操做ide

五、文件操做編碼

六、字符編碼與轉碼spa

 

1、列表操做

列表是咱們之後最經常使用的數據類型之一,經過列表能夠對數據實現最方便的存儲、修改等操做。code

 

1.列表的定義 

 

1    names = ['Alex',"Tenglan",'Eric']

 

2.經過列表訪問列表中的元素

1    >>> names[0]
2    'Alex'
3    >>> names[2]
4    'Eric'
5    >>> names[-1]
6    'Eric'
7    >>> names[-2] #還能夠倒着取
8    'Tenglan'

列表的使用0 開始的  經過列表的索引能夠得到列表的內容。-1 表明最後一個元素  -2 表明倒數第二個元素orm

3.切片

取多個元素(切片是顧頭不顧尾,從左向右數)blog

 

>>> name=["Alex","Tenglan","Eric","Rain","Tom","Amy"]
>>> name[-3:-1]
['Rain', 'Tom']
>>> name[0]
'Alex'
>>> name[0::2]
['Alex', 'Eric', 'Tom']
>>> name[:4]
['Alex', 'Tenglan', 'Eric', 'Rain']
>>> name[4:]
['Tom', 'Amy']
>>> name[1:-1]
['Tenglan', 'Eric', 'Rain', 'Tom']
>>> name[2]
'Eric'
>>>

 

4.追加 append()

>>> name.append("ksjdfha")
>>> name
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', 'ksjdfha']
>>>

5.刪除 del    pop remove

['Alex', 'Tenglan', 'Eric', 'Rain', '從eric後面插入試試新姿式', 'Tom', 'Amy', '我是新來的']
>>> del names[4]
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新來的']
>>> 
>>> names.remove("Eric") #刪除指定元素
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新來的']
>>> names.pop() #刪除列表最後一個值 
'我是新來的'
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']

6.擴展 extend()

>>> name
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 'ksjdfha']
>>> name2=['xiaoming','xiaohua','xiaogang']
>>> name.extend(name2)
>>> name
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 'ksjdfha', 'xiaoming', 'xiaohua', 'xia
ogang']

7.拷貝 .copy()

>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
>>> name_copy = names.copy()
>>> name_copy
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

 8.排序  .sort()

 

['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
>>> names.sort() #排序
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < str()   #3.0裏不一樣數據類型不能放在一塊兒排序了,擦
>>> names[-3] = '1'
>>> names[-2] = '2'
>>> names[-1] = '3'
>>> names
['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
>>> names.sort()
>>> names
['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']

 

9.翻轉 recerse()

 

 

>>> names
['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
>>> names.reverse() #反轉
>>> names
['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

10.獲取索引 index()

>>> names
['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
>>> names.index("Amy")
2 #只返回找到的第一個下標

11.統計 count()

>>> names
['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
>>> names.count("Amy")
2

2、元組操做

元組其實科列表差很少,也是存一組數,只是它一旦建立,表不能再修改,

一、元組的定義

names=('alex','jack','eric')

它只有兩個方法

count()

copy()

 

 

3、字符串操做

 

 1 name.capitalize()  首字母大寫
 2 name.casefold()   大寫所有變小寫
 3 name.center(50,"-")  '---------------------Alex Li----------------------'
 4 >>> n4.ljust(40,"-")   'Hello 2orld-----------------------------'
 5 >>> n4.rjust(40,"-")    '-----------------------------Hello 2orld'
 6 
 7 name.count('lex') 統計 lex出現次數
 8 name.encode()  將字符串編碼成bytes格式
 9 name.endswith("Li")  判斷字符串是否以 Li結尾------好比判讀一個郵件地址是否是.com  結尾
10 Name.startwith("li")  判斷字符串是否以li開頭
11  "Alex\tLi".expandtabs(10) 輸出'Alex      Li', 將\t轉換成多長的空格 
12  name.find('A')  查找A,找到返回其索引, 找不到返回-1
13 Name.rfind()  從右面開始查返回索引
14 >>>name=「huang22dzgs」 
15 >>>name.rfind("g")  
16 >>>10
17 >>>Name.find("g")  
18 >>>5  
19 format :
20     >>> msg = "my name is {}, and age is {}"
21     >>> msg.format("alex",22)
22     'my name is alex, and age is 22'
23     >>> msg = "my name is {1}, and age is {0}"
24     >>> msg.format("alex",22)
25     'my name is 22, and age is alex'
26     >>> msg = "my name is {name}, and age is {age}"
27     >>> msg.format(age=22,name="ale")
28     'my name is ale, and age is 22'
29 format_map
30     >>> msg.format_map({'name':'alex','age':22})   傳一個字典進去
31     'my name is alex, and age is 22'
32 msg.index('a')  返回a所在字符串的索引
33 '9aA'.isalnum() 判讀字符串是數字或26個英文組成    True
34 'asjdkfASSD'.isalpha()  判讀是否純英文字符
35 
36 '1D'.isdecimal()  判斷是否是10進制
37 '1a'.isidentifier()  判斷是否是一個合法的標識符
38 '12'.isdigit()  判斷是否整數
39 name.isnumeric 判斷是否是純數字和isdigit 等同
40 name.isprintable  
41 name.isspace
42 name.istitle  每一個字符是否首字符大寫 
43 name.isupper  是否全大寫
44  "|".join(['alex','jack','rain'])   'alex|jack|rain'  把一個列表變成字符串而且用|隔開
45 Name.split()  把一個字符串按照中間的空格分隔成一個列表  參數爲空 就是空格 分隔  參數寫「l」 就是l分隔的 可是 分隔後l就不見了 由於被當作分隔符了
46 >>>print('alex lil'.split('l'))
47 >>>['a','ex','i','']
48 
49 Name.strip()    去掉字符串兩邊的空格和回車
50 Name.lstrip()  去掉字符串左邊的空格和回車
51 Name.rstrip()  去掉字符串右邊的空格和回車
52  name.lower()  字符串全變小寫
53 Name.upper()  字符串全變大寫
54 'alex li'.replace('l','L')  使用L替換l
55 'alex li'.replace('l','L',1)  使用L替換l  只替換一個就寫第三個參數爲1
56 Name.swapcase()  字符串中的字符大寫換小寫 ,小寫換大寫
57 >>>'lex li'.zfill(50)
58 >>>0000000000000000000000lex li

4、字典操做

字典是一種key-value 的數據類型(鍵值對),使用就像咱們上學使用的字典,經過筆畫,字母來查對應的詳細內容。

語法:
info = {
    'stu1101': "TengLan Wu",
    'stu1102': "LongZe Luola",
    'stu1103': "XiaoZe Maliya",
}

一、增長

>>> info["stu1104"] = "蒼井空"
>>> info
{'stu1102': 'LongZe Luola', 'stu1104': '蒼井空', 'stu1103': 'XiaoZe Maliya', 'stu1101': 'TengLan Wu'}

二、修改

>>> info['stu1101'] = "武藤蘭"
>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1101': '武藤蘭'}

3刪除

>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1101': '武藤蘭'}
>>> info.pop("stu1101") #標準刪除姿式
'武藤蘭'
>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'}
>>> del info['stu1103'] #換個姿式刪除
>>> info
{'stu1102': 'LongZe Luola'}
>>> info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'}
>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} 
#隨機刪除
>>> info.popitem()
('stu1102', 'LongZe Luola')

4查找

>>> info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'}
>>> 
>>> "stu1102" in info #標準用法   True   -----這樣能夠判斷一個key 是否存在。

在python 2中info.has key("1130")   等同於  stu1103 in info


>>> info.get("stu1102")  #獲取  有就返回keY相對應的value, 沒有就null 
'LongZe Luola'


>>> info["stu1102"] #同上,可是看下面-----這種方式適合肯定字典 中必定存在的  不然會報錯

'LongZe Luola'
>>> info["stu1105"]  #若是一個key不存在,就報錯,get不會,不存在只返回None
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'stu1105'
相關文章
相關標籤/搜索