for 循环
# for 临时变量 in 可迭代对象(可以一个一个取出来):
# 循环体
# i = 0
# while i < 100:
# print("dada")
# i+=1
# for i in range(100):
# print(i)
# range(终止位置) 不包含终止位置
# range(起始位置, 终止位置) [起始位置, 终止位置)
# range(起始位置, 终止位置,步长) [起始位置, 终止位置)
my_sum = 0
# 所有奇数和
for i in range(1, 101, 2):
print(i)
my_sum += i
print(my_sum)
数据类型
- 列表 list
# 列表 可以存储不同类型的数据的集合
hero_list = ["鲁班七号", "后羿", "孙尚香", 111, 99.9]
print(hero_list)
print(type(hero_list)) #<class 'list'>
# 单个查询 索引(从0开始)
print(hero_list[0])
print(hero_list[2])
# 切片slice:获取一部分的操作
# 变量名[起始索引:终止索引:步长]
print(hero_list[0:3])
print(hero_list[:3])# 从0开始可以省略
print(hero_list[2:])# 最后可以省略
print(hero_list[2:5])# 最后可以省略
print(hero_list[:])#
print(hero_list[::1])# 最后可以省略
print(hero_list[1::2])# 最后可以省略
print(hero_list[::-1])# 反转
# 索引为负数 (右边第一个值索引是-1)
print(hero_list[::-1])# 反转
print(hero_list[-1])
print(hero_list[-1])
print(hero_list[-5:-2])
print(hero_list[-3::-1])
# 修改
hero_list[3] = "妲己"
hero_list[4] = "安琪拉"
print(hero_list)
# 增加
# 末尾追加
hero_list.append("澜")
hero_list.append("耀")
print(hero_list)
# 插入指定为位置
hero_list.insert(1, "程咬金")
print(hero_list)
# extend
hero_list.extend(["吕布", "貂蝉"])
print(hero_list)
hero_list.append(["赵云", "张飞"])
print(hero_list)
# 删除
# del hero_list
# print(hero_list) #NameError: name 'hero_list' is not defined
del hero_list[0]
print(hero_list)
del hero_list[:4]
print(hero_list)
#
# hero_list.clear()
# print(hero_list) # 清空
hero_list.pop()
print(hero_list)
hero_list.pop(1) #传索引
print(hero_list)
# remove传入值
hero_list.remove("吕布")
print(hero_list)
列表常用的一些方法
li = []
for i in range(1, 11):
li.append(i)
print(li)
# 列表 index方法
print(li.index(2)) #2 这个值的索引
# print(li.index(2, 4, 9)) #2 这个值的在 4~9索引范围的位置 找不到会报错
# in
print(6 in li) # True
print(62 in li) # False
# len() 序列里面有多少个元素
print(len(li))
#
print(max(li))
print(min(li))
print(sum(li))
# zip同时迭代两个列表
ls1 = [1, 2, 3, 4, 6, 10]
ls2 = [2, 2, 3, 4, 6]
res = []
for v1, v2 in zip(ls1, ls2):
# print(v1, v2)
v = v1 +v2
res.append(v)
print(res)
# 同时迭代出列表的索引和值
for index, value in enumerate(res):
print(index, value)
列表排序
# 生成随机列表
from random import randint
# 生成[start, end]范围内的随机整数
li = []
for i in range(10):
li.append(randint(1, 100))
print(li)
# li.sort()
# print(li)
ls = sorted(li)
print(ls)
print(li)
- 元组 tuple
元组与列表的区别
-
元组中的数据一旦定义就不允许更改。
-
元组没有append()、extend()和insert()等方法,无法向元组中添加元素。
-
元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。
-
从效果上看,tuple( )冻结列表,而list( )融化元组
元组的优点
- 元组的速度比列表更快。
- 元组对不需要改变的数据进行“写保护”将使得代码更加安全。
- 元组可用作字典键(特别是包含字符串、数值和其它元组这样的不可变数据的元组)。元组有时还作为函数的返回值返回(返回多个值)。
-字符串(String)
单引号或者双引号表示 字符串会原样输出 str()
字符串常用方法
字符串切片和常用方法
# 字符串一旦被创建就不能更改
my_str = "python is the best "
#
# print(my_str[0])
# my_str[0] = "r" str' object does not support item assignment
print(my_str)
print(my_str)
print(len(my_str))
# 切片
print(my_str[:6])
print(my_str[14:])
print(my_str[::2])
# 常用方法
# 去两端空格 strip
new_str = my_str.strip()
print(len(new_str))
# 分割 split
print(my_str.split()) # 默认按照空格进行分割 返回列表
print(my_str.split('t')) # 默认按照空格进行分割 返回列表
# print(my_str.split('/')) # 默认按照空格进行分割 返回列表
# 列表变成字符串 join
ls = ['python', 'is', 'the', 'best']
print("-".join(ls))
print(" ".join(ls))
print(", ".join(ls))
print("*".join(ls))
# 统计某个元素出现的次数
print(my_str.count("t"))
# 字符串 替换
print(my_str.replace("p", "P"))
print(my_str.replace(" ", "_"))
字符串格式化话输出
name = "张三"
age = 19
height = 180
my_str = "姓名:{}, 年龄: {} , 身高{}".format(name, age, height)
print(my_str)
- 字典 dict
- 集合 set
- 数字(Number) float(就是小数)、int(整数)、complex(复数)