文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python---列表、元组

2023-01-31 06:58

关注

一.列表

列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。

  1. 列表切片

names = ["fengxiaoli","Cx","#wang","3bin",["dudu","longlong"],"fengye","Cx"]
print(names[0],names[1])
print(names[0:2])
print(names[:2])
print(names[-1])
print(names[-3:-1])
print(names[-3:])
print(names[0:-1:2])        #0开头,-1结尾,间隔2;0和-1可省


2.打印列表

print(names)

for i in names:             #遍历列表中的值
   print(i)


3.增加

names.append("chenjia")       #从列表最后增加
names.insert(1,"xiaoming")    #制定位置增加
print(names)


4.修改

names[1]="daming"
print(names)


5.删除

names.remove("daming")    #指定字符删除
names.pop(1)              #按索引号删除
names.clear()             #删除整个列表
del names[0:3]            #指定索引删除
print(names)


6.获取下标

print(names.index("3bin"))      #打印3bin所在的下标
print(names[names.index("3bin")])      #打印3bin所在的下标所对应的值


7.其他

names.reverse()            #将列表中的值反向
print(names)

print(names.count("Cx"))    #统计Cx

names2 = [1,2,3,4]
names.extend(names2)        #合并列表names和names2

names.sort()                #排序


8.浅复制,深层列表数据和复制前指向同一内存地址

names3 = names.copy()
names[1] = "cxcx"           #更改names中数据后,names3只有第一层列表未受影响,二级列表改变,说明二级列表中names和names3指向同一内存地址
names[4][0] = "DUDU"
print(names)
print(names3)

#输出结果
# ['fengxiaoli', 'cxcx', '#wang', '3bin', ['DUDU', 'longlong'], 'fengye', 'Cx']
# ['fengxiaoli', 'Cx', '#wang', '3bin', ['DUDU', 'longlong'], 'fengye', 'Cx']

9.深copy ,列表中所有数据复制到一个新的内存地址,当数据量太大时,慎用

import copy
names = ["fengxiaoli","Cx","#wang","3bin",["dudu","longlong"],"fengye","Cx"]
names3 = copy.deepcopy(names)       #copy.copy()也是浅copy
names[1] = "cxcx"                   #更改names列表中的数据,复制后的names3不受影响
names[4][0] = "DUDU"
print(names)
print(names3)

#输出结果
# ['fengxiaoli', 'cxcx', '#wang', '3bin', ['DUDU', 'longlong'], 'fengye', 'Cx']
# ['fengxiaoli', 'Cx', '#wang', '3bin', ['dudu', 'longlong'], 'fengye', 'Cx']


二.元组


元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

它只有2个方法,一个是count,一个是index。  

names = ("we","are","chinese","happy","new")
#切片
print(names[0],names[1])
print(names[0:2])
print(names[:2])
print(names[-1])
print(names[-3:-1])
print(names[-3:])
print(names[0:-1:2])    #0开头,-1结尾,间隔2;0和-1可省

三.购物车练习(列表实现)

# Author:fengxiaoli
product_list=[["phone",1000],["bike",500],["computer",2000]]
shop_car=[]

salary=input("Please input your salary:")
if salary.isdigit():
    salary=int(salary)
    while True:
        for index,item in enumerate(product_list):
            print(index,item)
        shop_choce=input(">>>>>:")
        if shop_choce.isdigit():
            shop_choce=int(shop_choce)
            if shop_choce<=len(product_list)and shop_choce>=0:
                temp_shop=product_list[shop_choce]
                if salary>=temp_shop[1]:
                    shop_car.append(temp_shop[0])
                    salary -=temp_shop[1]
                    print("\033[31;1mYou bought a %s,Your balance is %s\033[0m"%(temp_shop[0],salary),)
                else:
                    print("\033[31;1mYour balance is not enough\033[0m")
            else:
                print("\033[31;1mProduct does not exist\033[0m")
        elif shop_choce=="q":
            print("------Shopping cart list-----")
            for i in shop_car:
                print(i)
            exit()
        else:
            print(" Invalid input")


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯