字符串、列表、字典

字符串:

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

len(x)测x的长度

name = “abcdef”

name[x]出name中x位置的值,x从0开始,但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,往右走,那么此时结果为空,没取到。

想倒序取到东西,需要步长为负1:name[-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”,”a”,1)从左到右替换,只替换第一个。

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可以取得字典里的各元素:

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

时间: 2024-10-27 20:27:57

字符串、列表、字典的相关文章

python中的字符串 列表 字典

字符串     一个有序的字符集合  不可变 1,可以使用for in语句进行迭代循环,返回元素    2,in类是于str.find()方法但是是返回布尔结果        str.find()返回的是位置操作    查找字符串:        find 找不到返回-1        rfind    从右边        index    报错      都是从左边开始查找        rindex   从右边    统计字符串个数        count    替换字符串       

python字符串列表字典相互转换

字符串转换成字典 json越来越流行,通过python获取到json格式的字符串后,可以通过eval函数转换成dict格式: >>> a='{"name":"yct","age":10}' >>> eval(a) {'age': 10, 'name': 'yct'} 支持字符串和数字,其余格式的好像不支持: 字符串转换成列表和元组 使用list >>>a='1234' >>>

python之字符串,列表,字典内置方法总结

目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 数字类型的内置方法 整型/浮点型 加 + 减 - 乘 * 除 / 取余 % 余数取整 // 字符串类型的内置方法 掌握 熟悉 了解 按索引取值 ,strs[0] lstrip,rstrip find,rfind 切片,str[::-1] lower,upper index,rindex 长度,len[strs] startswith,endswith count 成员运算,print{" 'llo' i

python字符串/元组/列表/字典互转

#-*-coding:utf-8-*- #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'}print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class')print tuple(dict)#字典可以转为元组,返回:(7,

Python之路 day2 字符串/元组/列表/字典互转

1 #-*-coding:utf-8-*- 2 3 #1.字典 4 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} 5 6 #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} 7 print type(str(dict)), str(dict) 8 9 #字典可以转为元组,返回:('age', 'name', 'class') 10 print tup

【转】python字符串/元组/列表/字典互转

#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class') print tuple(dict) #字典可以转为元组,返回

python 字符串,列表,元组,字典相互转换

1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} 字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) 字典能够转为元组,返回:('age', 'name', 'class') print tuple(dict) #字典能够转为元组,返回:(7, 'Zara', 'First') p

列表字符串元组字典集合

列表字符串元组字典 一.列表 1.li.append() #添加元素到末尾,返回none 2.li.clear() #一个比较危险的方法(QAQ) 3.li.copy() #复制 不是同一个对象(内存地址不一样) 4.li.count() #计算列表里的元素出现的次数 5.li.extend([]) #可迭代的参数 6.li.index() #默认返回元素第一次出现的位置,可以添加查找范围 7.li.insert() #指定索引插入元素 8.li.pop() #默认删除最后一个元素,可以指定索引

Tcl学习之--列表|字典

[列表|字典] Tcl使用列表来处理各种集合,比如一个文件夹中的所有文件,以及一个组件的所有选项.最简单的列表就是包含由任意个空格.制表符.换行符.分隔的任意多个元素的字符串.比如: JerryAlice Mandy David l  lindex命令: --> 获取元素 至少需要两个参数,一个列表和一个索引值,返回取得的元素 如果列表中包含列表的话,访问子列表中的元素就要多个参数 l  llength命令: --> 获取长度 列表命令中可以把一个含有空白符的元素括在括号中,还可以使用反斜线来

python :列表 字典 集合 类 ----局部变量可以改全局变量

#列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def func(names): names[0]='金角大王' print("inside name:" ,names) func(names) print (names) #字符串 name='jack' name1=name name='jack_chen' print(name,name1