python -- 字符串、列表、元组、字典操作

1. 字符串

  字符串是不可变变量,不能通过下标来修改它的值,但可以通过以下方法取值:

1 name = "123"        #定义字符串
2 print(name[0])       #通过下标取值

  字符串也可通过for循环来循环对象里的每一个元素。

  常用的字符串方法

    所有字符串的方法,都不会修改原字符串的值,都会产生一个新的字符串。

 1     import string                                #导入string
 2     print(string.ascii_letters+string.digits)    #大小写字母+数字
 3 
 4     s.find("n")                             #查找字符串,返回索引值;找不到返回-1
 5     s.format(name="xxx",age="18")           #格式化字符串
 6     s.isalnum()                            #是否含数字和字母
 7     s.isalpha()                             #是否是英文字母
 8     s.isdigit()                             #是否是数字
 9     s.islower()                             #是否为小写字母
10     s.isupper()                            #s是否为大写字母
11     "," .join(s)                            #用","进行字符串拼接,通过字符拼接可迭代对象
12     s.strip()                               #默认去掉两边的空格和换行
13                                               当传入字符串时,去掉该字符串,而不去掉空格
14     s.replace()                            #替换字符串
15     s.split(",")                           #分割字符串,返回一个list
16                                             若什么都不传,则按空格分割,多个空格算一个        

 2. 列表

  列表是可变变量,可以通过下标修改其值,常用的方法有:

 1      name = [1,2,3,"liliyun",'panyang']  #定义列表
 2         print(names[3])                   #通过下标取值
 3         name.append("xxx")                  #增加元素到最后
 4         name.insert(0,"xxx")                #指定位置0添加元素
 5         name.pop()                          #删除最后一个元素,并返回删除的值
 6         name.pop(2)                         #删除指定位置2的元素,并返回删除的值
 7         name.clear()                        #清空列表
 8         del name[0]                         #删除指定位置0的元素
 9         del name                            #删除列表
10         name.remove("xxx")                  #删除指定元素值,传的是值,需与pop区分开
11         name.count("xxx")                   #指定元素在list中出现的次数
12         name.index("xxx")                   #返回xx的下标,有多个时取第一个,若没有则报错
13         name.index("xx",3,5)                #查找3-5范围的xx,并返回xx的下标
14         name.sort()                         #排序,默认是升序
15         name.sort(reverse=True)             #降序排列
16         name+str                            #列表相加。组合成新的list
17         name.extend(str)                    #把str扩展到name列表
18         in                                  #判断元素是否包含在list里

   切片功能

    切片就是从list或字符串里取几个元素,需要注意的是,切片取值属于顾头不顾尾,只能取到区间尾数的前一位。

1 name[0:2]          #从第0个元素到第2个元素,取值
2 name[:2]           #从第0个元素到第2个元素,取值
3 name[1:]           #从第1个元素到最后一个元素,取值
4 name[:]             #都不写的话,取整个list
5 name[1:10:2]        #后面一位为步长,即每隔几个值取一次
6 name[::2]          #取整个list,步长为2
7 name[::-2]         #取整个list,步长为-2,即倒序取值

3. 元组

  元组是不可变变量,只有count方法和index方法,定义元组时,若只有一个元素,则要在这个元素后面加逗号【,】,否则就是定义了个字符串

1     tp=()                   #定义元组
2     tp.count("")            #统计次数
3     tp.index("")            #查找下标
4     tp1=("a",)              #元组只有一个元素时,要在后面加一个【,】
5                              否则是字符串,而非元组

4. 字典

  字典是可变变量,字典是以key:value形式存在的,里面的key不能重复,常用方法如下

 1         info["key"]                       #取值,取不到时报错
 2         info.get("key")                   #取值,获取不到时,返回none
 3         info.get("key","haha")            #取值,get不到时,返回第二个参数    
 4         info["xx"]="yy"                   #增加一个键值对 "xx":"yy"
 5         info.setdefault("phone","1111")   #增加一个键值对 "xx":"yy"
 6         info["id"] = "7"                  #有key时修改。没有key时新增
 7         del info["id"]                  #删除ID
 8         info.pop("id")                    #删除ID
 9         info.popitem()                  #随机删除一个函数
10         info.clear()                    #清空字典        
11         info.keys()                    #返回所有keys
12         info.values()                 #返回所有values
13         info.items()                  #返回keys、values 键值对
14         info.update(info2)            #两个字典合并,如果有相同key则更新其value

 5. 类型转换

  字符串转为字典: eval()

1 s = "{\"name\":\"haha\",\"age\":22}"    # 字符串要符合字典规则,即key:value形式
2 dict_1 = eval(s)                        # eval方法把字符串转换为字典
3 print(dict_1)

  字典转换为字符串:str(),其他如列表、元组也可以通过子方法转换为字符串

 1 dict_2 = {"name":"lily","age":22}     
 2 list=[1,2,3]
 3 tp = ("male","female")
 4 s1 = str(dict_2)
 5 s2 = str(list)
 6 s3 = str(tp)
 7 
 8 print(type(s1))
 9 print(type(s2))
10 print(type(s3))

  字符串转换为整形:int()

1 s = "1"                 #字符串要为数字
2 print(type(s))
3 num = int(s)
4 print(type(num))

 

    

posted @ 2017-05-22 22:30  试尝百味  阅读(229)  评论(0编辑  收藏  举报