day03 列表、元组、字典、字符串、文件操作

1.list列表的操作

#list 列表

stu_name=["stu1","stu2","stu3",1,1.5]
#list下标
print(stu_name[0])
#list的增删改查
#1.增,append()向list末尾添加元素,insert指定位置添加元素
stu_name.append("stu4")
stu_name.insert(2,"stu0") #添加到指定位置
print(stu_name)
#改
stu_name[0]="牛教授"
print(stu_name)
#删 1.pop()把整个列表中末尾的元素删除,也可以传指定的元素pop(2),如果传一个不存在的下标程序会报错
# 2.remove(元素) 直接删除元素,如果有一样的元素,只会删除第一个,如果元素不存在也会报错

# stu_name.pop()
# print(stu_name)
# stu_name.pop(2)
# print(stu_name)
# stu_name.remove("牛牛")
# print(stu_name)
# 3.del 删除也是一样

del stu_name[-1] #del还可以删除变量
print(stu_name)

#查,直接用下标来取stu_name[],count()方法是查询元素在列表中出现的次数

my_list=[1,"hah",2,1.5]
print(stu_name.count("stu2"))
#list列表常见的方法
print(my_list.index(1)) #通过元素查找下标
my_list.reverse() #将list反转,没有返回值,改变的是原数组排序
print(my_list)
my_list.clear() #clear()是清空列表 ,没有返回值
print(my_list)
nums=[1,99,0,3]
nums.sort(reverse=True) #sort方法是对list进行排序,列表中数据类型一致时,才能进行比较;如果reverse=True就是降序
print(nums)

my_list.extend(nums) #extend()方法就是将列表1添加到列表2中
print(my_list)


#多维数组
# nums=[1,2,3,4,["一","二",["a","b","c"]],[6,7]]
#
# print(nums[4][2][1])
2.循环读取列表的值

1)使用for循环
passed=["123456","123456","123457","123"]

index=0
for i in passed:
passed[index]="abc_"+p
index+=1


2)使用枚举函数enumerate循环列表中的数据,并修改

for index,p in enumerate(passed):
passed[index]="abc_"+p
print(index,p)
print(passed)

3.切片操作
切片适用于list、字符串
# l=list(range(1,11))
#
# print(l[0:4]) #切片取头不取尾
# print(l[:5]) #如果冒号之前没写的时候从0开始取
# print(l[4:]) #如果冒号没写的话取到最后
# print(l[0:5:2])
#
# print(l[::2]) #步长代表隔了几个数取一次
#
# print(l[::-2])#步长为正数从左往右,负数时从右往左

切片练习:回文算法 s="上海自来水来自海上"

s=input("请输入字符串:")
if s==s[::-1]:
print(s+"是回文")
else:
print(s+"不是回文")

4.元组
#元组也是个列表,但是不可修改的,不可变的

# my_tuple=("192.168.1.102","3306","root","123456")

l=[1]
t=(1) #必须加逗号,不然生成不了元组,t为int数据类型,要变成元组必须写成t=(1,)
print(type(t),type(l))

5.字典,是以k_v对应的形式存储数据,通过key取到values值时,查询速度快

student={"name":"小黑","age":"18"}

#1、取值
print(student["name"])

#两种方法都可以,假如get不到key值时不会报错,返回NONE。而且可以在后面加一个默认值,如下:
#如果get不到name对应的value值时,默认返回‘小明’
print(student.get("sex","男"))

#获取字典中所有的key和value
print(student.keys())
print(student.values())

#2、增加/修改
student["sex"]="男"

print(student)
#通过去key的增加或者修改字段,如果存在就会修改对应的value值
student["name"]="小明"
#如果key已经存在,使用setdefault方法不会修改原来key对应的value值
student.setdefault("name","小白")
print(student)

#3、删除
#使用del关键字删除字典中的值

del student["name"]

print(student)

#使用pop(key)方法随机删除字段中的元素
student.pop("age")
print(student)
#使用clear()清空字典
# student.clear()
print(student)

#4、字典的其他方法和遍历

#update()方法,把一个字典添加到另外一个字典

student1={"name":"无双","sex":"女"}

student.update(student1)

print(student)

#字典遍历
#第一种方式
for key in student1:
print(student1.get(key))

#第二种方式

for k,v in student1.items():
print(k,v)

#字典的嵌套中的取值、修改和删除
all_stuss={
"name": "小黑",
"age": 28,
"sex": "男",
"addr": "北京",
"cars":["宝马","五菱","ofo"]
}
print(all_stuss["cars"][1]) #一层层找到想要的数据
all_stuss["cars"].append("膜拜") #添加数据
print(all_stuss)

print(all_stuss["cars"])
all_stuss["cars"].remove("ofo")
# all_stuss["cars"].pop(0)
print(all_stuss)

6.字符串操作
username=" qwqwqwqwqqwqw "
# print(username)
# print(username.strip()) #去电字符串两边的空格和换行符,中间去不掉
# print(username.upper()) #转换成大写
# print(username.lower()) #转换成小写
# print(username.capitalize()) #把首字母改成大写
print(username.replace("l","123")) #替换字符
filename='2.mp3'

print(filename.endswith("mp3")) #字符串以什么结尾
#split()分割


print(filename.split(".")) #以""分割,返回列表

7.文件操作
1) 写模式

f=open("user.txt",""w) #写模式会把原来文件中的东西都删掉

2)追加模式
f=open("user.txt","a+") #可以把写入的内容追加到文件末尾,如果要读文件
f.seek(0) #移动文件指针获取文件所有内容
print(f.read())
3)读模式
f.open("user.txt","r)

 




原文地址:https://www.cnblogs.com/zzzao/p/9535673.html