python_列表——元组——字典——集合
列表——元组——字典——集合:
列表:
# 一:基本使用
# 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_列表——元组——字典——集合的更多相关文章
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)
列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...
- Day 07 数据类型的内置方法[列表,元组,字典,集合]
数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...
- python 中列表 元组 字典 集合的区别
先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...
- Python数据类型-布尔/数字/字符串/列表/元组/字典/集合
代码 bol = True # 布尔 num = 100000000; # 数字 str = "fangbei"; # 字符串 str_cn = u"你好,方倍" ...
- python 列表 元组 字典 集合
列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...
- Python 列表&元组&字典&集合
列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...
随机推荐
- [洛谷P2186] 小Z的栈函数
题目链接: 传送门 题目分析: 大模拟,先得存操作,然后再处理每个数-- 有一个小优化,在处理操作的时候顺便判一下最后栈里是不是有且仅有一个数,但A完了才想起来,所以就算了-- 总之就是个模拟题--没 ...
- 命令行媒体处理工具 FFmpeg
FFmpeg 是一套在命令行界面运行的跨平台媒体处理工具,属于自由软件,常用来对视频音频和图片等媒体文件进行格式转换.分割和合并等,也可录屏录音. 开发语言:C官网:https://www.ffmpe ...
- android开发学习 ------- @SuppressWarnings 注解的使用
@SuppressWarnings 该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默. @SuppressWarnings 批注允许您选择性地取消特定代码段(即,类或方法 ...
- 基于Java实现的插入排序算法
简述 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,通常 ...
- cf559C. Gerald and Giant Chess(容斥原理)
题意 $h \times w$的网格,有$n$个障碍点, 每次可以向右或向下移动 求从$(1, 1)$到$(h, w)$不经过障碍点的方案数 Sol 容斥原理 从$(1, 1)$到$(h, w)$不经 ...
- Web 前端开发代码规范(基础)
一. 引言 对于一个多人团队来说,制定一个统一的规范是必要的,因为个性化的东西无法产生良好的聚合效果,规范化可以提高编码工作效率,使代码保持统一的风格,以便于代码整合和后期维护. 二. HTML/CS ...
- java.lang.ClassCastException android.widget.RelativeLayout LayoutParams 异常
1.在xml布局文件如下所示: <RelativeLayout android:layout_width="match_parent" android:layout_heig ...
- 修改完linux bashrc文件之后,如何不重启系统使其生效
修改完后,输入如下命令即可 ##@##:~/ source ~/.bashrc 之后bashrc文件就可以使用! 注: 使用ssh登陆shell的时候,系统不会自动调用.bashrc文件, 只是 ...
- Longest Increasing Subsequence的两种算法
问题描述:给出一个序列a1,a2,a3,a4,a5,a6,a7-.an,求它的一个子序列(设为s1,s2,-sn),使得这个子序列满足这样的性质,s1<s2<s3<-<sn并且 ...
- 洛谷 P1168 中位数
题目描述 给出一个长度为N的非负整数序列A[i],对于所有1 ≤ k ≤ (N + 1) / 2,输出A[1], A[3], …, A[2k - 1]的中位数.[color=red]即[/color] ...