python中列表的值与内存地址_python---列表、元组
一.列表
列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。列表切片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")
python中列表的值与内存地址_python---列表、元组相关推荐
- Python中相同的值在内存中到底会保存几份
Python采用基于值的内存管理模式,相同的值在内存中只有一份.这是很多Python教程上都会提到的一句话,但实际情况要复杂的多.什么才是值?什么样的值才会在内存中只保存一份?这是个非常复杂的问题. ...
- python中del和pop有什么区别_Python列表删除元素del、pop()和remove()的区别小结
前言 在python列表的元素删除操作中, del, pop(), remove()很容易混淆, 下面对三个语句/方法作出解释 del语句 del语句可以删除任何位置处的列表元素, 若知道某元素在列表 ...
- python中的切片能否修改元祖_Python列表的增删改查和元祖
一.定义列表 1.names = ['mike','mark','candice','laular'] #定义列表 2.num_list = list(range(1,10)) #range生成1-1 ...
- python中return返回值为函数名_Python函数返回值
Python函数返回值教程 同时,Python 函数的返回值不需要在函数的签名上体现,只需要在函数体里面直接使用 return 语句返回即可. Python函数不返回值详解 语法 def func_n ...
- python中的返回值是什么意思_python中函数的返回值是什么
函数返回值简介 1.简单介绍print和return的区别,print仅仅是打印在控制台,而return则是将return后面的部分作为返回值:作为函数的输出,可以用变量接走,继续使用该返回值做其它事 ...
- python中的map函数返回一个地址_python中的map函数
1.对可迭代函数'iterable'中的每一个元素应用'function'方法,将结果作为list返回. 来个例子: >>> def add100(x): ... return x+ ...
- python中的return和print的区别_python中return和print的区别(详细)
Huskiesir python最近正在研究.今天,我面临一个问题,那就是,返回和印刷的区别.双方都能输出结果.的区别是什么?闲话少说,看下面的例子.# Code1: def break_words( ...
- python中可用于布尔测试的,如何在Python中使用布尔值?
Python中的布尔值是整数的子类.布尔构造函数- bool .bool类继承自int类. issubclass(bool,int) // will return True isinstance(Tr ...
- 在python中创建一个具有特定大小的空列表
本文翻译自:Create an empty list in python with certain size I want to create an empty list (or whatever i ...
最新文章
- Java网络编程基础(七)— RMI分布式网络编程
- 体系文件管理解决方案
- ubuntu下载软件安装包
- 有些错误,即便时光倒流也无法弥补——《时光幻境》
- 查看http的并发请求数与其TCP连接状态
- 开发中的坑:MQ 也能做 RPC 调用?
- 浅谈缓存最终一致性的解决方案
- React-引领未来的用户界面开发框架-读书笔记(六)
- 如何在没有Springockito的情况下模拟Spring bean
- 鸿蒙系统被泼冷水,给鸿蒙泼冷水:见不得同行的好,是人间最可恶的蠢和恶
- python用户取消了安装_python的安装
- linux 环境变量详解,Linux 环境变量详解及实例
- JavaScript基础和记背内容 Day1
- python re 简单实例_python的re正则表达式实例代码
- Python电影票房数据可视化分析基础实践
- [洛谷P3376题解]网络流(最大流)的实现算法讲解与代码
- 合影效果java_排序入门练习题9 合影效果 题解
- html5 tooltip,HTML5 教程之CSS 提示工具(Tooltip)
- UNIX环境高级编程——进程关系
- Mybatis中用到的设计模式
热门文章
- Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截
- 基于GaussDB(DWS)的全文检索特性,了解一下?
- 面对10ms的延迟,这群人就是一个字“改”
- 【华为云技术分享】MongoDB经典故障系列五:sharding集群执行sh.stopBalancer()命令被卡住怎么办?
- MongoDB一次节点宕机引发的思考(源码剖析)【华为云分享】
- 带着canvas去流浪系列之二 绘制折线图
- AIOps产品与架构浅析
- 一统江湖的大前端(2)—— Mock.js + Node.js 如何与后端潇洒分手
- 红橙Darren视频笔记 圆点loadingView 动画ANR
- python怎么另起一行阅读答案_使用Python+Dlib构建人脸识别系统(在Nvidia Jetson Nano 2GB开发板上)...