列表——元组——字典——集合:

列表:


# 一:基本使用
# 1、用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制
# l=['a','b','c'] #l=list(['a','b','c'])
# l1=list('hello')
# print(l1) # 常用操作+内置的方法 # 按索引存取值(正向存取+反向存取):即可改也可以取
l = ['a', 'b', 'c']
print(id(l))
print(l[-1])
l[0] = 'A'
print(id(l))
print(l)
l[3] = 'd' # 报错 # 2、切片(顾头不顾尾,步长)
stus = [1,2,3,'a','b','c'] print(stus[1:3]) # 3、长度
# stus = [1,2,3,'a','b','c']
# print(len(stus)) # 4、成员运算in和not in
# stus = [1,2,3,'a','b','c']
# print('a' in stus) # 5、追加
# stus = [1,2,3,'a','b','c']
# stus.append('d')
# stus.append('c')
# print(stus)
# 插入
# stus = [1,2,3,'a','b','c']
# stus.insert(1,'x')
# print(stus) # 6、删除
# stus = [1,2,3,'a','b','c']
# del stus[1]
# print(stus)
# stus.remove('a')
# print(stus) # stus.pop(1)
# stus.pop() # 默认删除末尾
# print(stus) # res1=stus.remove('c') # 单纯的删除
# print(res1)
# res2=stus.pop(0) # 取走一个值
# print(res2) # 7、循环
# stus = [1,2,3,'a','b','c']
# 依赖索引
# i=0
# while i < len(stus):
# print(stus[i])
# i+=1 # for i in range(len(stus)):
# print(i,stus[i]) # 不依赖索引
# for item in stus:
# print(item) # 补充for循环
# for i in range(0,5,2): #0 2 4
# print(i)
# for i in range(10):#默认从零起始
# print(i) # for i in range(10,-2,-1):
# print(i)
 

元组:

# 元组:相当于不可变的列表

# t = (1, 2, 3, 'a', 'b', 'c')
# print(id(t[2])) # 用途:当存放的多个值,只有读的需求,没有改的需求时,可以用元组 # 常用操作:
# 依赖索引 # t = (1, 2, 3, 'a', 'b', 'c')
#
# i = 0
# while i < len(t):
# print(t[i])
# i += 1
#
# for i in range(len(t)):
# print(t[i])
#
#
# # 不依赖索引
# for item in t:
# print(item)
#
# list('hello')
# v = list(t)
# v = set(t)
# v = tuple(t)

字典:

# 根据数列,创建字典,并制定统一的值:
dic = {
'asd': '',
'qx': 'cac'
}
# v = dict.fromkeys(['asd', 113, 'gsd'],123)
# v = dic['qx']
# v = dic.get('aad',12321)
# v = dic.pop('aasd', 121)
# v = dic.popitem()
# v = dic.setdefault('qx', '12e')
# v = dic.update({'qwd':'1321','fas':1231})
# print(dic)
# print(v)
# dic.keys() .values() .items() .get() .update()

集合:

# 定义:
# s1={1,2,3, 'a', 'b', 'c'}
# s2={4,5,6, 'a', 'b'}
# 注意:
# 集合无序
# 集合内元素不能重复
# 集合内的元素必须为不可变类型,但set集合是可变
# 用途:
# 集合使用来进行关系元素,单独取集合的某一个元素是没有意义,也没有相应的方法
#
# 交集:s1 & s2取两个集合的共同部分
# 差集:s1-s2,结果存于s1而不存于s2的元素集合
# 补集:s1 ^ s2,扣掉s1与s2共同部分,剩下的部分合到一起
# 并集:s1 | s2把两个合到一起,去掉重复

购物程序:

product_list=[
('Mac Book',9000),
('Mate Book',8000),
('Magic Book',5000),
('Think Pad',4000),
('Lenovo',5000),
('SAMSUNG',7000),
('OPPO',3000),
('MI',2500),
('HUAWEI',4500),
]
saving=input('请输入你的钱:')
shopping_car=[]
if saving.isdigit():
saving=int(saving)
while True: for i,v in enumerate(product_list,1): print(i,'>>>>',v)
choice=input('请选择购买的商品号:[结束购买请输入:W]: ')
if choice.isdigit():
choice=int(choice)
if choice>0 and choice<=len(product_list): p_item=product_list[choice-1]
if p_item[1]<saving:
saving-=p_item[1]
shopping_car.append(p_item)
else:
print('余额不足,还剩%s'%saving)
print(p_item)
else: print('您输入的号码不正确,请重新输入') elif choice=='W': print(
'------------您已经购买如下商品--------------'
)
for i in shopping_car:
print(i)
print('您还剩%s元钱'%saving)
break
else:
print('invalid input')

python_列表——元组——字典——集合的更多相关文章

  1. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  2. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  3. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  4. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

  5. Day 07 数据类型的内置方法[列表,元组,字典,集合]

    数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...

  6. python 中列表 元组 字典 集合的区别

    先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...

  7. Python数据类型-布尔/数字/字符串/列表/元组/字典/集合

    代码 bol = True # 布尔 num = 100000000; # 数字 str = "fangbei"; # 字符串 str_cn = u"你好,方倍" ...

  8. python 列表 元组 字典 集合

    列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...

  9. Python 列表&元组&字典&集合

    列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...

随机推荐

  1. java数据结构----队列,优先级队列

    1.队列:和栈中的情况不同,队列中的数据项不总是从数组下标0开始,移除一个数据项后,队头指针会指向下标较高的数据项,其特点:先入先出 2.图解 3.队列的实现代码: 3.1.Queue.java pa ...

  2. C#中MessageBox用法大全(附效果图)<转>

    我们在程序中经常会用到MessageBox. MessageBox.Show()共有21中重载方法.现将其常见用法总结如下: 1.MessageBox.Show("Hello~~~~&quo ...

  3. [已读]javascript语言精粹

    又是一本广为赞颂的好书,当时才刚开始学,啃这本书的时候于是比较困难.记得是有介绍一些js中的“精华”与“糟粕”.

  4. GIT GUI克隆github代码

    新建一个文件夹,右击gitgui  git clone 去掉不要

  5. 分享一套Code Smith 搭建N层架构模板

    开篇 平常开发时,由于冗余代码过多,程序员做重复的工作过多势必会影响开发效率.倘若 对重复性代码简单的复制.粘贴,虽然也能节省时间,但也需仔细一步步替换,这无疑也是一件费力的事.这时我们急需代码生成工 ...

  6. nodejs 不是单线程

    nodejs 不是单线程 在我机器上,nodejs 起了近 20 个线程. 对,你没有看错,20个线程.

  7. CodeSmith Generator 7.0.2

    [工具]CodeSmith Generator 7.0.2激活步骤 只看楼主 收藏 回复     M炎骫毒逆天T   c#攻城狮 8   学过三层的人应该认识CodeSmith Generator吧, ...

  8. Spring框架学习-Spring的AOP概念详解

    一.SpringAOP的概述. AOP(Aspect Oriented Programming),面向切面编程,通过预编译方式和运行期间动态代理实现程序的功能的统一维护的技术.AOP是OOP(面向对象 ...

  9. 【转】阐述Handler的实现原理

    面试题:阐述Handler的实现原理 2016年07月18日 21:01:35 阅读数:7574 处理过程: 从handler中获取一个消息对象,把数据封装到消息对象中,通过handler的send… ...

  10. JS动态获取项目名以及获取URL地址中的参数

    在项目当中我们可能会遇到例如改变的项目名称之后,相对应的地址就需要改变,为了减少工作量,将地址当中的项目名这一块写成动态获取的,那么最关键一点就是我要先获取它,再进行操作: 知识点整理,话不多说,直接 ...