字符串列表字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串列表字典相关的知识,希望对你有一定的参考价值。

字符串:

一个字节最多存数字255,那么数字100,可以放入一个字节,而字符串“100”,需要三个字节,c语言最小单位4个字节,python是高层语言,不会牵扯太多底层,它最小可一个字节,先这么理解。

lenx)测x的长度

name = abcdef

name[x]namex位置的值,x0开始,但x的值不能大于name的长度,不然就是越界,程序会立马崩掉,非常危险,一定要避免。

取出name值中最后一个字母:name[len(name)-1],还可以name[-1]

 

切片:从某字符开始,取一片,案例如下:

name=abcdfdgdg

取一段,name[2:5]可取到cdf,但只能取到2-4,取不到第5个,想要取第五个,可以name[2:6],也就是只能取到:x的左边前一位,不论正负数。name[2:-1]也只能取到倒数第二个,要想取完需要如下操作:name[2:]即可。

name[2:-1:2]默认步长是1,最后的:2表示改变默认步长为2.即每2个字符取一个。

倒序:name[-1:0]但此时步长为正1,往右走,那么此时结果为空,没取到。

想倒序取到东西,需要步长为负1name[-1:0:-1],倒序取完:name[-1::-1]

 

字符串常见操作:

找下标:name.find(ab)从左往右找,为正数代表有,为-1代表没有。name.rfind(fsdfd)从右往左找。name.index(fdsaf),它也可以找,但与find的区别是index没找到直接抛出异常。

name.count(fasdfd):查看fasdfd出现的次数,统计的作用。

name.replace(d,a):把d换成a,但不会改变原字符串,只是返回值,元祖,字符串都是不可变。

name.replace(d,a1)从左到右替换,只替换第一个。

name.split( ):按空格切割,返回列表,当需要切掉空格和\t等要求时,直接split()即可。

name.capitalize():字符串首字母大写。

name.title():字符串中没单词字母都大写。

name.startswich():以什么字符串开头。比如判断以什么姓开头。

name.endswich():以什么字符串结尾。可判断文件后缀是否为要求的,比如txt后缀的,但有漏到,不能对内容判断。

name.lower():将所有大写字符为小写。可在用户输入无论大小写都能判断。

name.upper():将所有小写转为大写。

name.rjust(5):向右5字符靠齐

name.ljust(5):向左5字符靠齐

name.center(5):向中间共5字符靠齐。

name.lstrip():去掉字符串左边的空格。

name.rstrip():去掉字符串有点的空格。

name.strip():去掉所有空格。

name.partition(x):x为中心,将字符串分为左右含自己一共三组,x留下,返回元组,而且找到第一个就返回结果。

name.splitlines():将字符串中换行符去掉,然后返回新的列表。

name.isalpha():判断是否为纯字母。

name.isdigit():判断是否为纯数字。

name.isalnum():判断是含数字和字母。

name.isspace():判断是否只包含空格。

name.join(x):x将两字符串连成一体。

 

列表,一个变量保存多个数据,类似c语言当中的数组:

names = [a,b,3],可不同数据类型同时存。

 

names.append(laozhao):增加names成员,添加到原有列表最后,laozhao如果是列表,就把列表整体带列表符加进去。注意点,a.append(b)代表把b添加进到a,此时a.append(b)并没有值为空,因为它只是一个动作,如果此时用c来接收它c=a.append(b)那么c=none

 

names.insert(位置,要添加的内容):意为添加还可插队。

names.extend(names3):names3合到names里面去,如果names是列表,那么extend的意思是把names3的一个个值加进去。

name.pop():把列表最后一个成员删除。

栈:先进去的后出来,后进去的先出来,例如电梯,电梯快满时,后进去的人到站时需先出来。

队列:先进先出,后进后出。

name.remove(a):删除列表中第一个a

列表也可以通过下标也可以切片

del names[0]:删除names中下标为0的。

names[1]=x:修改names中下标为1的值改为x

 

名字管理系统:

while True:死循环。

 

通过下标修改值的时候很容易修改错了,有很大漏洞。一般会用列表里嵌套字典。

字典:有很多信息元素需要定义时,name = {:,:},通过K来找,不通过下标来找,所以顺序不重要。

print(%s %d %s(infor[name],infor[addr],infor[age]))

 技术分享

#1. 打印功能提示

print("="*50)

print("   名片管理系统 V0.01")

print(" 1. 添加一个新的名片")

print(" 2. 删除一个名片")

print(" 3. 修改一个名片")

print(" 4. 查询一个名片")

print(" 5. 显示所有的名片")

print(" 6. 退出系统")

print("="*50)

 

#用来存储名片

card_infors = []

 

while True:

 

    #2. 获取用户的输入

    num = int(input("请输入操作序号:"))

 

    #3. 根据用户的数据执行相应的功能

    if num==1:

        new_name = input("请输入新的名字:")

        new_qq = input("请输入新的QQ:")

        new_weixin = input("请输入新的微信:")

        new_addr = input("请输入新的住址:")

 

        #定义一个新的字典,用来存储一个新的名片

        new_infor = {}

        new_infor[‘name‘] = new_name

        new_infor[‘qq‘] = new_qq

        new_infor[‘weixin‘] = new_weixin

        new_infor[‘addr‘] = new_addr

 

        #将一个字典,添加到列表中

        card_infors.append(new_infor)

 

        #print(card_infors)# for test

 

    elif num==2:

        pass

    elif num==3:

        pass

    elif num==4:

 

        find_name = input("请输入要查找的姓名:")

 

        find_flag = 0#默认表示没有找到

 

        for temp in card_infors:

            if find_name == temp["name"]:

                print("%s\t%s\t%s\t%s"%(temp[‘name‘], temp[‘qq‘], temp[‘weixin‘], temp[‘addr‘]))

                find_flag=1#表示找到了

                break

        

        #判断是否找到了

        if find_flag == 0:

            print("查无此人....")

    elif num==5:

        print("姓名\tQQ\t微信\t住址")

        for temp in card_infors:

            print("%s\t%s\t%s\t%s"%(temp[‘name‘], temp[‘qq‘], temp[‘weixin‘], temp[‘addr‘]))

    elif num==6:

        break

    else:

        print("输入有误,请重新输入")

 

 

    print("")

 

一般采用name.get(fsad)来取字典里的键值,而不用name[fsad]

技术分享 

 

for循环里加while 还可以for else,其他语言里没有。

技术分享 

items可以取得字典里的各元素:

技术分享 

如果元祖里有两个值,如果用新的两个变量来接收,那么就会拆包:

技术分享技术分享 

 


以上是关于字符串列表字典的主要内容,如果未能解决你的问题,请参考以下文章

Python 字符串/列表/元组/字典之间的相互转换

我想将字符串列表转换为字典列表

Python3 列表,元组,字典,字符串知识小结

python-基础-字符串-列表-元祖-字典2

如何将 JSON 字典列表转换为 Snowflake 中的字符串列表?

将字典列表转换为字符串