Python基础—字符串、列表和字典

   期末笔记后期整理,如有问题,请多多指教。


有序序列:元组、列表、字符串

无序序列:字典

可变序列:列表、字典

不可变序列:元组、字符串

双向索引:元组、列表、字符串

一、字符串(文本)
  如:ASCII字符、各种符号、Unicode字符

      1、表现方式:单引号、双引号、三引号

           不能被修改,如:word[0]='m'

      2、转义字符:" ' "

                            ' " '

                           \\,\n,\r

           可在字符串前添加r,输出原始字符串 

      3、字符串的输出(%s,%d,%f,%g)         

 print("%s"%name)

 print("%s,%d"%(name,age))

 print(i,end=" ")#输出以空格分隔

 print("{0},{1}".format("小明",23))

      4、字符串的输入(以字符串形式保存)           

username=input("请输入用户名:")

print(username)

      5、没有字符类型,单个字符也作为字符串使用,通过下标访问,从0开始。

      6、切片截取字符串( 不会出现下标超出异常)

           [起始:结束:步长]#左闭右开

           如:name[1:-1]

      7、内建函数

                str.find("hello")#不在返回-1

                index()#不在报异常

                count()

                split(sep=None,maxsplit=-1)#默认空字符分隔,以列表形式返回

                如:split('i',1)

                capitalize()#第一个字符转大写

                title()#所有单词以大写开始,其余小写

                upper()/lower()#大/小写

                startswith("hello")/endswith("hello")#返回True/False

                strip()#删首尾空格

                chr()、ord(),swapcase()

                replace()#生成新字符串,原来字符串保持不变

      8、运算符(+,*,in、not in)

      9、" ".join(str.split(" "))

二、列表(存储不同类型的数据)

      1、切片(同字符串),从0开始

           for、while循环遍历

      2、常见用法

blist=[]

list("abcd")
list(range(100))
list((1,2,3))

len(blist)
blist.count(xxx)
sum(blist)
max(blist)
min(blist)

      3、增删改查、排序

      增:1.append方法:追加到末尾  

alist.append("aaa")

             2.extend方法:可将一个列表中元素全部加到另一列表               

blist.append(alist)#[...[]]

blist.extend(alist)#[...]

             3.insert方法:列表指定位置添加(耗资源)

                如:clist.insert(index,元素)

      查:in,not in

      改:dlist[1]="hello"  # -1指最后一个

      删:1.del:可删指定列表元素/整个列表               

del movie_name[2]

del movie_name

             2.pop:默认删最后一个元素/指定元素

                如:movie_name.pop()

                       movie_name.pop(1)#若超出则报错

                       n=movie_name.pop()#有返回值

             3.remove:可删指定元素

movie_name.remove('指环王')#若元素不存在则报错

      排序:sort、reverse

                sorted、reversed#返回新列表                

list_demo.reverse()#原地逆置

list_demo.sort()#升序

list_demo.sort(reverse=True)#降序

      4、列表的嵌套:一个列表的元素又是另一个列表

         names=[[],[]]#定义

         names[1][0]#访问列表元素

      5、列表推导式

        [表达式 for 变量 in 序列/迭代对象]

        如:[i*i for i in range(1,11)] #[1,2...10]->[1,4...100]

               [j for i in A for j in i] #[[1,2,3],[4,5,6]]->[1,2,3,4,5,6]

               [i for i in A if i>0] #[1,-1,3,-2]->[1,3]

三、字典(键必须唯一,值可以任何类型)

      1、根据键访问值(键不唯一,最后一个键值对替换前面的) 

info={'name':'aa','id':100}
print(info['name'])#若使用不存在的键访问值,则报错(keyError)

           不确定是否存在这个键,可通过get方法,若不存在,则返回默认值。

print(info.get('age',18))#不写默认值,返回None

      2、修改字典元素

info['sex']=new_sex
#键存在则对应值被新值替代,否则新增键值对

       3、删除(del、clear)

del info['name']  #删除某个元素

del info   #删除整个字典

info.clear()  #清空元素

      4、len(dict_demo)#计算键值对个数

           dict_demo.keys()#获取字典键视图

           dict_demo.values()#获取字典值视图

           dict_demo.items()#获取字典元素视图(键值对)

      5、字典的遍历

for key in dict_demo.keys():
       print(key)


for value in dict_demo.values():
       print(value)


for item in dict_demo.items():
      print(item)


for key,value in dict_demo.items():
      print(key,value)

四、元组:不可变序列,用()表示

      1、下标访问元组元素

            如:tuple_demo[1]

      2、元组连接

           如:tuple_three=tuple_one+tuple_two

      3、遍历

      4、内置函数

           len(A)

           max(A)

           min(A)

           tuple(aList)#list(A)将序列转为列表

五、集合:无序的不重复元素序列

      set(value)     

parame={value1,value2...}

for i in parame:#不支持使用下标访问
发布了19 篇原创文章 · 获赞 2 · 访问量 2202

猜你喜欢

转载自blog.csdn.net/xiaoyeren_ITRoad/article/details/104084195
今日推荐