day2 数据及文件操作

时光总嘲笑我的痴心妄想 提交于 2019-12-01 19:33:28

 

1. 列表、元组操作

定义列表

names = ['felix','jack li','danie']

通过下标访问列表中的元素,如  names[0]

切片:取多个元素

 1 >>> names = ["felix","Tenglan","Eric","Rain","Tom","Amy"]
 2 >>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
 3 ['Tenglan', 'Eric', 'Rain']
 4 >>> names[1:-1] #取下标1至-1的值,不包括-1
 5 ['Tenglan', 'Eric', 'Rain', 'Tom']
 6 >>> names[0:3] 
 7 ['felix', 'Tenglan', 'Eric']
 8 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
 9 ['felix', 'Tenglan', 'Eric']
10 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
11 ['Rain', 'Tom', 'Amy'] 
12 >>> names[3:-1] #这样-1就不会被包含了
13 ['Rain', 'Tom']
14 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
15 ['felix', 'Eric', 'Tom'] 
16 >>> names[::2] #和上句效果一样
17 ['felix', 'Eric', 'Tom']
View Code

追加

1 names = ['felix','tom','jack','xie','amy']
2 names.append("新来的")
3 names
4 ['felix', 'tom', 'jack', 'xie', 'amy', '新来的']
View Code

插入

1 names
2 ['felix', 'tom', 'jack', 'xie', 'amy', '新来的']
3 names.insert(2,"从jack前面插入")
4 names
5 ['felix', 'tom', '从jack前面插入', 'jack', 'xie', 'amy', '新来的']
View Code

修改

1 names
2 ['felix', 'tom', '从jack前面插入', 'jack', 'xie', '从amy前插入', 'amy', '新来的']
3 names[2] ="wilson"
4 names
5 ['felix', 'tom', 'wilson', 'jack', 'xie', '从amy前插入', 'amy', '新来的']
View Code

删除

 1 names
 2 ['felix', 'tom', 'wilson', 'jack', 'xie', '从amy前插入', 'amy', '新来的']
 3 del names[1]
 4 names
 5 ['felix', 'wilson', 'jack', 'xie', '从amy前插入', 'amy', '新来的']
 6 names.remove("从amy前插入")  #删除指定元素
 7 names
 8 ['felix', 'wilson', 'jack', 'xie', 'amy', '新来的']
 9 names.pop()   #删除最后一个元素值
10 '新来的'
11 names
12 ['felix', 'wilson', 'jack', 'xie', 'amy']
View Code

扩展

1 names
2 ['felix', 'wilson', 'jack', 'xie', 'amy']
3 test =[1,2,3,4,5]
4 names.extend(test)
5 names
6 ['felix', 'wilson', 'jack', 'xie', 'amy', 1, 2, 3, 4, 5]
View Code

拷贝

1 names
2 ['felix', 'wilson', 'jack', 'xie', 'amy', 1, 2, 3, 4, 5]
3 aa = names.copy()
4 aa
5 ['felix', 'wilson', 'jack', 'xie', 'amy', 1, 2, 3, 4, 5]
View Code

统计

1 names
2 ['felix', 'wilson', 'jack', 'felix', 'xie', 'amy', 'xie', 1, 2, 3, 4, 'felix', 5]
3 names.count('felix')
4 3
View Code

排序&翻转

1 names
2 ['amy', 'felix', 'felix', 'jack', 'wilson', 'xie', 'xie', '1', '2', '3', '4', 'felix', '5']
3 names.sort()
4 names
5 ['1', '2', '3', '4', '5', 'amy', 'felix', 'felix', 'felix', 'jack', 'wilson', 'xie', 'xie']
6 names.reverse()
7 names
8 ['xie', 'xie', 'wilson', 'jack', 'felix', 'felix', 'felix', 'amy', '5', '4', '3', '2', '1']
View Code

获取下标

1 names
2 ['xie', 'xie', 'wilson', 'jack', 'felix', 'felix', 'felix', 'amy', '5', '4', '3', '2', '1']
3 names.index('jack')
4 3
View Code

元组

元组是组只读的列表数据

1 name
2 ('xie', 'xie', 'wilson', 'jack', 'felix', 'felix', 'felix', 'amy', '5', '4', '3', '2', '1')
3 name.index('xie')
4 0
5 name.count('felix')
6 3
View Code

2. 字符串操作 

特性:不可修改

name.capitalize()  首字母大写
name.casefold()   大写全部变小写
name.center(50,"-")  输出 '---------------------Alex Li----------------------'
name.count('lex') 统计 lex出现次数
name.encode()  将字符串编码成bytes格式
name.endswith("Li")  判断字符串是否以 Li结尾
 "Alex\tLi".expandtabs(10) 输出'Alex      Li', 将\t转换成多长的空格 
 name.find('A')  查找A,找到返回其索引, 找不到返回-1 

format :
    >>> msg = "my name is {}, and age is {}"
    >>> msg.format("alex",22)
    'my name is alex, and age is 22'
    >>> msg = "my name is {1}, and age is {0}"
    >>> msg.format("alex",22)
    'my name is 22, and age is alex'
    >>> msg = "my name is {name}, and age is {age}"
    >>> msg.format(age=22,name="ale")
    'my name is ale, and age is 22'
format_map
    >>> msg.format_map({'name':'alex','age':22})
    'my name is alex, and age is 22'


msg.index('a')  返回a所在字符串的索引
'9aA'.isalnum()   True

'9'.isdigit() 是否整数
name.isnumeric  
name.isprintable
name.isspace
name.istitle
name.isupper
 "|".join(['alex','jack','rain'])
'alex|jack|rain'


maketrans
    >>> intab = "aeiou"  #This is the string having actual characters. 
    >>> outtab = "12345" #This is the string having corresponding mapping character
    >>> trantab = str.maketrans(intab, outtab)
    >>> 
    >>> str = "this is string example....wow!!!"
    >>> str.translate(trantab)
    'th3s 3s str3ng 2x1mpl2....w4w!!!'

 msg.partition('is')   输出 ('my name ', 'is', ' {name}, and age is {age}') 

 >>> "alex li, chinese name is lijie".replace("li","LI",1)
     'alex LI, chinese name is lijie'

 msg.swapcase 大小写互换


 >>> msg.zfill(40)
'00000my name is {name}, and age is {age}'



>>> n4.ljust(40,"-")
'Hello 2orld-----------------------------'
>>> n4.rjust(40,"-")
'-----------------------------Hello 2orld'


>>> b="ddefdsdff_哈哈" 
>>> b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则
True
View Code

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!