一 List
lst = list()
[]列表,用来存放大数据集的数据
[], 内部可以使用任何数据类型的数据. 由逗号隔开
索引和切片与字符串一模一样
list数据可以重复lst=["张三","李四","张三"]
可以将list放到集合中,去重复s=set(lst) print(s),列表变成集合,顺序是乱了。
然后再将集合变成列表lst=list(s),顺序是乱了。
1 增加【】 追加方式
lst = []
lst.append("黄晓")
lst.append("万三")
lst.append("李明明")
lst.append("小芳")
print(lst)
2 查询 索引查询,切片查询
lst = ["张无忌", "张翠山", "张三丰", "张guol", "张long"]
print(lst)
print(lst[3])
print(lst[-4])
print(lst[1:4])
3 修改
lst[2] = "张娜拉"
print(lst)
4 删除
#方式1
lst.remove("张晓龙")
print(lst)
#方式2
lst.pop(1)
print(lst)
二 Dict
{}存储时以key:value的形式来存储的数据.
优势:查询的效率非常高
{k:v, k:v,k:v}
所有的key必须是可哈希. 不可变就是可哈希
可变: 列表和字典
不可变:str, int, float, tuple
字典没有索引和切片
1 增加{}
d = {}
d['张无忌'] = "倚天屠龙记"
print(d) # {'张无忌': '倚天屠龙记'}
2 查询
print(d["name123123"]) # KeyError: 'name123123' 有详细报错
print(d.get("name123123")) # None 返回空,没有报错
3 修改
d['张无忌'] = "赵敏" # 修改
print(d)
4 删除
d = {"name": "赵四", "age":40}
d.pop("name")
print(d)
三 Set
集合没有顺序.
数据不重复.
数据必须是可哈希的.
s = set()
查询
s = {"赵四", "刘能", "大脚", "广坤"}
s2 = {"广坤", "皮长山", "李福", "大脚"}
print(s & s2)
print(s | s2)
列表转集合转列表
lst = ["广坤", "皮长山", "李福", "大脚", "赵四", "刘能", "大脚", "广坤"]
print(lst)
s = set(lst)
print(s)
lst = list(s)
print(lst)
四 元祖tuple
()表示元祖,只读列表
如果元祖内只有一个元素,需要在末尾添加一个逗号
(数据,)
t = (1, "哈哈", "呵呵")
print(t)
print(type(t))
print(t[1:3])
#坑1 不支持修改
t[1] = "张无忌" # 'tuple' object does not support item assignment
# 坑2
# 如果元祖内只有一个元素,需要在末尾添加一个逗号
t = (1,)
print(type(t))
五 字符串
索引: 为了快速的从数据集中获取到某一个数据
字符: 单一的文字符号.
在python中索引的下标从0开始.
默认方向为往右取:跳着取, 步⻓ -2方向往左取,2方向往右取
#程序员的世界数数永远从0开始,倒序从1开始
# 0 1 2 34 5 6 7
# -8-7-6-5-4-3-2-1
s2 = "python最⽜B"
print(s2[0:3]) # 从0获取到3. 不包含3. 结果: pyt
print(s2[6:8]) # 结果 最⽜
print(s2[6:9]) # 最⼤是8. 但根据顾头不顾腚, 想要取到8必须给9
print(s2[6:10]) # 如果右边已经过了最⼤值. 相当于获取到最后
print(s2[4:]) # 如果想获取到最后. 那么最后⼀个值可以不给.
print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数. 你怎么数也数不到-5
print(s2[-5:-1]) # ⽜b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后⼀个呢?
print(s2[-5:]) # 什么都不写就是最后了
print(s2[:-1]) # 这个是取到倒数第⼀个
print(s2[:]) # 原样输出
s = "昨日赤裸不过度误入百花深处,正度正度"
print(s[5:10:3]) #过度误入百,每3个取1位,结果为过入
print(s[-4:-10:-2]) #结果为正处花,-2代表方向往左,每隔两位取。
六 用户交互
s = input(提示语)
收到的内容是字符串. 操作的时候需要注意
a=input("请输入第1个数:")
b=input("请输入第2个数:")
a=int(a)
b=int(b)
print(a+b)
#也可以这样写
a=int(input("请输入第1个数:"))
b=int(input("请输入第2个数:"))
print(a+b)
七 if语句
注意没有()
注意缩进,py有分层规范,print("计算完毕")
a = int(input("请输入a")) # 1
b = int(input("请输入b")) # 2
if a > b:
print("a比b大")
print("呵呵呵哒")
else:
print("a比b小")
print("计算完毕")
score = int(input(">>>:"))
if score < 60:
print("不及格")
elif score < 70:
print("及格")
elif score < 80:
print("中等")
elif score < 90:
print("良好")
else:
print("优秀")
八 while循环
打印1-100
count=1
while count <=100:
print(count)
count = count + 1
打印1-100所有的基数
count=1
while count <=100:
if count % 2 ==1:
print(count)
count = count + 1
打印1加到100的结果
count=1
sum = 0
while count <=100:
sum = sum + count
count = count + 1
print(sum)
打印1-2+3-4+5-6...-98+99-100
count=1
sum = 0
while count <=100:
if count % 2 ==1:
sum = sum + count
else:
sum = sum - count
count = count + 1
print(sum)
打印 1-3+5-7+9...99 = ?
i = 1
fu = 1 # 符号
s = 0 # 准备累加
while i <= 99:
s = s + i * fu
fu = -fu
i = i + 2
print(s)
# # i = 1 fu = 1 * 1
# # i = 3 fu = -1 * -3
# # i = 5 fu = 1 * 5
# # i = 7 fu = -1 * -7
九 break和continue
break中断循环程序
continue 终止当前循环,进入下次循环,不会执行 print("发送给你的打野", content)
while True:
content = input("请输入你要喷的内容(输入Q退出):")
if content == 'Q':
break # 终止这个循环
#continue #
print("发送给你的打野", content)
print("游戏继续")
continue使用场景,取有用数据时。
while True:
从数据库取数据
if 是否为垃圾数据:
continue
把数据进行进一步处理
把数据发给前端
十 while else
当while条件不成立的时候,才会执行else。
当i==7的时候,break跳出循环,执行,print("数完了2"),不会执行else。
i = 1
while i <= 10:
if i == 7:
break
print(i) # 1 2 3 4 5 6
i = i + 1
else: # 当上面那个条件不成立的时候会执行else
print("数完了")
print("数完了2")
算法题
# 让用户输入一个数字n. 判断该数字是否是质数
# 质数: 只能被1和自身整除的数
n = int(input(">>>")) # 7 / 6
a = 2
while a <= n-1:
if n % a == 0:
print("不是质数")
break
a = a + 1
else:
print("是质数")
本文深入讲解Python中的List、Dict、Set、Tuple和字符串等数据结构的特性与操作方法,包括增删改查、循环控制、条件判断等核心知识点。
1220

被折叠的 条评论
为什么被折叠?



