zoukankan      html  css  js  c++  java
  • python 字符串方法及列表,元组,字典(一)

    字符串 str

    注:

    若想要保持单引号和双引号为字符串的一部分

    1)单双引号交替使用,

    2)使用转义字符

    3)成对三个引号被存在变量里

    二、字符串详细用法

    字符串的单个取值例 p_1=”hello”

    字符串元素定位置,通过索引 正序(→)  反序(←)开始值从0开始,反序从-1开始

    取值方式  字符串名[索引值] print(p_1[-1])  o

    ①字符串切片:字符串名[m:n:k]m:索引起始位置,n:索引结束位置+1k:步长 默认值为1,取左不取右

    1,print(p_1[2:4:10])ll

    2,print(p_1[:])#k=1 m=0 n=到末尾+1 hello

    3,print(p_1[0:]) hello

    ②字符串的进阶操作python内置函数的调用

    1. 切换大小写upper()  lower()

    例子

    s='get'

    k='GET'

    s_1=s.upper()/k.lower()  #/小写函数

    print(s_1)  结果GET/get

      2.字符串拼接

    例子

    a="GET"

    a1=a[0]+a[1].lower()+a[2]

    print(a1)  结果GeT

      3.查找字符串 字符串变量名.find(字符串)

    例子

    a='easier said than done!'

    print(a.find('!'))    结果21

    #結果返回字符所在的索引,從左側到右側0開始包括空格,返回-1說明查找的字符不存在

      4.字符串的替换 字符串变量名.replace(目标,替换的值,替换次数)  替换次数不写默认全部替换,只能先替换在进行其他操作

    例子:

    a='easier said than done!'

    a_1=a.replace('a','@',2)

    print(a_1)   结果e@sier s@id than done!

      5.split() 根据传入指定的字符去进行切割

    例子

    a='easier said than done!'

    a_1=a.split("a")

    print(a_1)   结果['e', 'sier s', 'id th', 'n done!']   #a为挡板进行切割,结果是列表类型的

    指定切割次数

    a_1=a.split("a",1)

    print(a_1)  结果['e', 'sier said than done!']

    空格切割

    a='easier said than done!'

    a_1=a.split(" ")

    print(a_1)

    结果['easier', 'said', 'than', 'done!']

    特殊切割

    a='easier said than done!!!!!'

    a_1=a.split("!",5)

    print(a_1) 结果 ['easier said than done', '', '', '', '', '']

      6.strip()去除指定元素的头和尾指定的字符,不傳字符時默認去除頭尾的空格

    a='easier said than done'

    a_1=a.strip("e")

    print(a_1) 结果asier said than don

    尾部的内容相同一直去除

    a='eeeeeasier said than doneeeeee'

    a_1=a.strip("e")

    print(a_1) 结果asier said than don

    字符串的拼接(+)只能是字符串,格式相同类型相同时用+

    a='hello'

    a_1='world'

    a_2=a+" "+a_1

    print(a_2) 结果hello world

    附加知识

    1、字符串转换

    ①整数利用str()可以转换为字符数,但是字符串不能变为数值型

    print(a+str(8888)+a_1) 结果hello8888world

    ②字符串的为数字的可以利用int()转成字符串

    print(type(int("6777")))  结果<class 'int'>

    str(数据值或者是变量名)函数直接强制转换为字符串

    2、格式化输出

    %s输出一个字符串 占坑 %d 数字

    按顺序赋值

    name="jack"

    age=18

    print("2019%s參加體育比賽,那年他只有%d歲!"%(name,age))

    结果 2019jack參加體育比賽,那年他只有18歲!

    format{}来占坑,如果不指定顺序就按顺序赋值,少赋值的坑就会报错

    name="张三"

    date="101"

    age=18

    print("2019{1}{0}參加體育比賽,那年他只有{2}歲!".format(name,date,age))

    结果2019101日张三參加體育比賽,那年他只有18歲!

    三、列表 关键字 list 标志[]

    S=[] #空列表

    特点:

    1、空列表[],关键字 list

    2、列表里面可以放任何类型的数据 元素与元素直接用逗号隔开

    3、列表里面的元素都有索引,从0开始和字符串的索引方式是一致的

    4、列表取值方式:列表名[索引值]

    5、切片;列表名[m,n,k]跟字符串一样

    s=[20,"hello",2.0,[1,2,3]]

    print(s[0:4:2]) 结果 [20, 2.0]

    进阶操作:列表 增删改

    增加元素:

    1、列表名.append(value)直接追加内容到列表的最后面

    s=[20,"hello",2.0,[1,2,3]]

    s.append("ok")

    print(s) 结果[20, 'hello', 2.0, [1, 2, 3], 'ok']

    2、列表名.insert(指定索引值的位置,value)value插入到指定的位置

    s=[20,"hello",2.0,[1,2,3]]

    s.insert(1,"ok")

    print(s)  结果[20, 'ok', 'hello', 2.0, [1, 2, 3]]

    3、extend 扩张列表

    s=[20,"hello",2.0,[1,2,3]]

    s1=["合理",12,"world"]

    s.extend(s1)

    print(s) 结果[20, 'hello', 2.0, [1, 2, 3], '合理', 12, 'world']

    删除元素

    1、删除最后一个元素,列表名.pop()

    s=[20,"hello",2.0,[1,2,3]]

    s.pop()

    print(s) 结果 [20, 'hello', 2.0]

    2、指定删除元素 列表名.pop(指定的索引位置)

    s=[20,"hello",2.0,[1,2,3]]

    s.pop(1)

    print(s) 结果 [20, 2.0, [1, 2, 3]]

    3、删除所有元素 列表名.clear()

    s=[20,"hello",2.0,[1,2,3]]

    s.clear()

    print(s) 结果[]

    4、修改元素 修改列表里面元素的value

    列表名[指定索引]=新值 修改指定的索引值

    s=[20,"hello",2.0,[1,2,3]]

    s[1]=2019

    print(s) 结果[20, 2019, 2.0, [1, 2, 3]]

    四、元组 关键字 tuple 标志()

    t=() 空元组

    特点

    1、标志是()关键字tuple

    2、元组里面可以放任何类型的数据,元素与元素之间用逗号隔开

    3、元组里面的元素也都有索引从0开始跟字符串的索引方式是一致的

    4、元组取值方式:元组名[索引值]正序 反序

    5、切片:元组名[m:n:k]和字符串一样的操作

    注:

    ①与列表的区别:

    1、标志不同

    2、元组的值不能进行任何的增删改操作,可以修改元组内部的数据但是不能改外部的数据

    例如

    第一种

    s=(1,"hell0",2.0,[1,2,3],(1,2,3))

    s[3]=6666

    print(s) 结果 报错TypeError: 'tuple' object does not support item assignment

    s=(1,"hell0",2.0,[1,2,3],(1,2,3))

    s[3][2]=6666

    print(s) 结果(1, 'hell0', 2.0, [1, 2, 6666], (1, 2, 3))

    第二种

    s=[1,"hell0",2.0,[1,2,3],(1,2,3)]

    s[4]=6666

    print(s) 结果[1, 'hell0', 2.0, [1, 2, 3], 6666]

    s=[1,"hell0",2.0,[1,2,3],(1,2,3)]

    s[-1][1]=6666

    print(s) 结果报错TypeError: 'tuple' object does not support item assignment

    ②元组单个元素时加逗号称为元组

    a=(1)

    a=(1,)

    a=(“hello”)

    a=(“hello”,)

    a=([2,4,6])

    a=([2,4,6],)

    五、字典 关键字 dict 标志{}

    特点

    1、关键字dict {}

    2、值的特点是 键值对 key_value

    3、a={}空字典

    4、元组列表都是有序的的数据类型,字典是无序的数据类型

    5、取值,按照key取值字典名[key],取所有值 字典名.values(),所有的key值 字典名.keys()

    例子

    a={"age":18,"name":"張三","address":"上海"}

    print(a["age"])

    print(a.values())

    print(a.keys())

    结果

    18

    dict_values([18, '上海', '張三'])

    dict_keys(['age', 'address', 'name'])

    6、增删改

    增加值:a[key]=value

    修改值:a[已存在的key]=value

    删除值:字典名.pop(key)

    例如

    a={"age":18,"name":"張三","address":"上海"}

    a["sex"]=""

    a["address"]="廣東"

    a.pop("age")

    print(a)  结果 {'sex': '', 'address': '廣東', 'name': '張三'}

    字典嵌套

    例如

    a={"age":18,"name":"張三","address":"上海","info":{"name":"李四","age":20,"add":"浙江","score":100}}

    a_1=a['info']['score']

    print(a_1) 结果100

    注:key的值时唯一的,value可以不唯一

    例子

    a={"age":18,"name":"張三","address":"上海","name":"王五"}

    print(a)  结果{'name': '王五', 'age': 18, 'address': '上海'}  张三被覆盖

    a={"age":18,"name":"張三","address":"上海","name2":"張三"}

    print(a) 结果{'name': '張三', 'name2': '張三', 'address': '上海', 'age': 18}

  • 相关阅读:
    去逛了一下浙东大峡谷
    终于开始释然
    其实在天堂AS IT IN HEAVEN
    寝室全景照
    黑与白
    努力下的意外
    文曲星的存在意义
    强烈推荐文章,给那些头脑发晕的看看
    学友演唱会
    最喜欢的歌
  • 原文地址:https://www.cnblogs.com/an-ning0920/p/11636941.html
Copyright © 2011-2022 走看看