python容器类型

属于基本数据类型 内置数据结构已经实现的 可以存储很多数据
知道区别 怎么使用 特性
# 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)

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值