属于基本数据类型 内置数据结构已经实现的 可以存储很多数据
知道区别 怎么使用 特性
# list 列表
# tuple 元组
# dixt 字典
# set 集合
# str 字符串 属性title 单词首字母大写
"""
# list 是可变数据类型 有序项目集合 能存放任何数据类型对象
#不要使用list作为变量名 但可以用 只有关键字不能作为变量名
#不可变数据类型和可变数据类型的区别:能不能在源地址空间修改值
# lst = [1,2,3]
# print(lst[1],id(lst))
# lst[1] = 100
# print(lst,id(lst))#可以访问还可以修改
# str1 = "abc"
# str1 = "axc"
# print(str1)#字符串不可变类型 不能修改 一旦被定义就不能在源地址修改 需要重新赋值
#*************有序项目集合 有下标 索引 可以通过索引来截取
# lst = ["a","b","c","xfb"]
# print(lst[2])
# print(lst[3:-4:-1])
#能存放任何数据类型对象 包容万物
# lst = [1,2.5,False,None,"string",print]
# print(lst)
# print(dir([]))
# #列表的运算
# lst1 = [1,2,3]
# lst2 = [4,5,6]
# print(lst1 + lst2)
# lst1 = [1] * 3
# print(lst1)
# lst2 = [[1]] * 3 #乘法拷贝的是地址 地址改就全部都改为2
# print(lst2)
# print(lst2[0][0])#最后拿到1
# lst2[0][0] = 2
# print(lst2)
#属性使用方法
######列表的新增 append() extend() insert() 在原列表新增元素
# lst1 = ["x","y","z"]
# lst1.append(100)#在末尾追加 一次只能追加一个元素 可以追加任何元素
# print(lst1)
# lst1.extend(["abc",1,2,3])#在末尾追加 多个元素 只能传递可迭代对象
# print(lst1)
# lst1.insert(0,"xfb")#在指定位置插入元素
# print(lst1)
# ###############列表的删除 remove() pop() clear() del
# lst1 = ["x","y","z"]
# lst1.remove("y")#删除指定元素 根据元素删 重复出现只会删第一个 不存在的元素会报错
# print(lst1)
# result = lst1.pop(3)#默认删除末尾元素
# print(lst1, result)
# lst1.pop(0)#删除指定位置元素
# print(lst1)
# lst1.clear()#清空列表
# print(lst1)
# del lst1[0]#删除指定位置元素
# 列表的统计count()
#lst1 = ["x","y","z","x","x"]
# print(lst1.count("x"))
# print(len(lst1))
# print(lst1.index("x"))#出现的位置
# #列表的反转和排序
# lst1.reverse()#反转
# print(lst1)
# lst1.sort(reverse=True)#排序 降序
# print(lst1)
# #copy 复制
# lst2 = lst1 #复制地址 都指向lst1的地址(同一个对象) 修改2会修改1 即地址变了
# lst3 = lst1.copy()
# lst3[4] = "##" #copy复制才是复制值
# print(lst1,lst3)
# lst4 = lst1[:]#截取整个lst1赋值给4
# print(id(lst1),id(lst2),id(lst3),id(lst4))#2和1地址一样 所以复制用copy或者截取
#列表的遍历
# for i in lst1:
# print(i)
# for index in range(len(lst1)):#0-len(lst)-1
# print(f"{index} -->{lst1[index]}")
# for num in range(5,10):
# print(num)
# count = 0
# while count <5:
# print(f"count is {count}")
# count += 1
# c = 1
# while True:
# if c == 3:
# break #跳出当前循环
# print(f"c is {c}")
# c += 1
# # for i in range(90,100):#90-99
# # for j in range(190,200):
# if j == 195:
# # #break
# continue#跳过本次循环开启下次循环
# # #pass #占位符 没有效果
# elif j == 196:
# # print("***")
# else:
# print(f"{i}*{j}={i*j}")
# for i in range(10):
# if i == 5:
# break #break 退出else里面内容不执行 此为不正常退出
# print(i)
# else:
# print("循环正常退出执行")
# print("a" in lst1)
# print("a" not in lst1)
# for k,v in enumerate(lst1):
# print(f"{k} -->{v}")
# lst = [5,5,3,5,7,6]
#从键盘接收一个整数,输出列表中哪两个数的和为你输入的整数 输出下标
# a = int(input("请输入一个整数"))
# for j in range(i+1,len(lst)):
# if a == lst[i] + lst[j] :
# print(f"{i},{j}")
# b = 1
# break
# if b == 0:
# print("没有")
# break
# for i in range(len(lst)):
# if a - lst[i] in lst[i+1:len(lst)] and a - lst[i] != lst[i]:
# print(f"{lst.index[i]},{lst.index(a - lst[i])}")
# break
# else:
# print("没有")
# for index in range(len(lst)):
# if a - lst[index] in lst[index+1:] :
# #print(f"{lst[index]},{a - lst[index]}")
# print(f"{index},{lst.index[i+1:].index[i]+1}")
# break
# else:
# print("没有")
作业:约瑟夫环 八个
lst = list(range(1,31))
count = 0
lst1 = []
while len(lst) > 0:
count += 1
if count % 8 == 0:
out = lst.pop(0)
lst1.append(out)
if len(lst1) == 8 :
break
else:
lst.append(lst.pop(0))
print(lst1)
python容器类型
最新推荐文章于 2024-09-10 13:01:50 发布