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'
相关文章
相关标签/搜索