python初级:基础知识学习-循环、列表、元组、集合、字典

python初级:基础知识学习-循环、列表、元组、集合、字典

一、循环

1.for循环

for循环需要用在循环次数与循环条件明确的时候使用,否则用while

2.for循环相关

(1)range()

range(start, end, step)
python解释器中内建(自带)的一个操作,可以直接产生从start数字开始,到end数字

(2)enumerate()

将一串数据中的每个数据进行编号(从0开始),方便目标数据

name="tianxiu"
for i,x in enumerate(name):
    print(i,x)
0 t
1 i
2 a
3 n
4 x
5 i
6 u

二、列表

列表是组合数据类型中的一种,可以存放多个、有顺序的、可以重复的、可以是不同数据类型的数据

1.列表创建

# 声明空列表
names1 = []
names2 = list()
print(names1, names2)#[] []

2.列表的索引和切片

切片语法:
lst[start, end, step]
	start:开始切片的位置(包含)
	end:结束切片的位置(不包含)
	step:间隔数据个数

(1)顺序切片

names1 = list(["李白", "李元芳", "凯", "露娜", "达摩","天秀"])
print(names1[1:3])#['李元芳', '凯']

(2)间隔位置切片

names1 = list(["李白", "李元芳", "凯", "露娜", "达摩","天秀"])
print(names1[1::2])#['李元芳', '露娜', '天秀']

(3)倒叙,按循序切片

names1 = list(["李白", "李元芳", "凯", "露娜", "达摩","天秀"])
print(names1[-2:])#['达摩', '天秀']

(4)列表旋转

names1 = list(["李白", "李元芳", "凯", "露娜", "达摩","天秀"])
print(names1[::-1])#['天秀', '达摩', '露娜', '凯', '李元芳', '李白']

3.列表的常规操作

names1 = list(["李白", "李元芳", "凯", "露娜", "达摩","天秀"])
print(names1[4:2:-1])#['达摩', '露娜']

(1)增

语法:
List.append(数据):列表的末尾追加一个数据
List.insert(位置, 数据):列表指定的位置插入一个数据
List.extend([一组数据]):列表的末尾追加多个数据

(2)删

List.remove(数据):删除某个指定的数据
List.pop():删除末尾的一个数据
List.pop(索引):删除索引位置的一个数据
List.clear():清空列表中所有数据(列表还在)
del List:删除列表(列表不在了)

(3)改

List[索引] = 新的数据:就可以将索引位置的数据进行修改

(4)其他

len(L): 获取列表中数据的个数
L.reverse():翻转列表
L.sort():对列表中的所有数据进行自然排序

3.列表的扩展:推导式列表

根据给定的数据,按照一定条件将数据组成新的列表

(1)列表与for与in连用

从固定列表中得到列表元素的单一位置成分

list = [[1,2,3], [4,5,6], [7,8,9]]
#提出147
t0=[x[0] for x in list]
print(t0)
#[1, 4, 7]

(2)列表与for与in、range连用

需要提出有循序关系的元素列表属性

list = [[1,2,3], [4,5,6], [7,8,9]]
#提出[1,5,9]
t0=[list[x][x] for x in range(0,len(list))]
print(t0)
#[1, 5, 9]

(3)双for循环

利用for循环增加选择条件

#每半个小时打印一次
t=[str(x)+":"+str(y) for x in range(0,24) for y in range(0,59,30)]
print(t)
#['0:0', '0:30', '1:0', '1:30', '2:0', '2:30', '3:0', '3:30', '4:0', '4:30', '5:0', '5:30', '6:0', '6:30', '7:0', '7:30', '8:0', '8:30', '9:0', '9:30', '10:0', '10:30', '11:0', '11:30', '12:0', '12:30', '13:0', '13:30', '14:0', '14:30', '15:0', '15:30', '16:0', '16:30', '17:0', '17:30', '18:0', '18:30', '19:0', '19:30', '20:0', '20:30', '21:0', '21:30', '22:0', '22:30', '23:0', '23:30']

三、元组

元组用在项目中的一些固定数据的声明上,在工程开发过程中为了保证一些特定数据不被误操作修改导致项目出现问题,可以选择使用元组来强制约束固定的数据

1.元组创建

t1=tuple()

四、集合

集合是Python中组合数据类型的一种,python语法中使用关键字set表示集合中可以存放没有顺序的、不能重复的、可以是不同数据类型的多个数据。可以利用对数据进行去重操作
集合中不能存放重复的数据,添加到集合中的每个数据都会记录这个数据的一个整数哈希值,新增数据时首先获取新数据整数哈希值,然后使用新数据的整数哈希值和已经存在的所有数据的整数哈希值进行等值判断,如果相等说明这个数据已经在集合中存在了所以不允许添加,如果不相等说明这个数据在集合中不存在可以添加。

1.集合创建

t1=set()
#显示虽然为{}。但是{}无法声明空集合

2.单集合操作

add(obj):向集合中增加一个数据
discard(obj):删除集合中的一个指定数据(如果数据不存在什么都不做)
remove(obj):删除集合中的一个指定数据(如果数据不存在就报错)
pop():随机删除集合中的一个数据
clear():清空集合中的数据
copy():复制一个集合

五、字典

字典是Python中的组合数据类型之一,使用关键字dict表示。
字典中可以存储多个key:value(键值对)数据,key不能重复,value可以重复,字典中可以直接通过key获取到对应的value数据。

1.字典创建

#声明空字典
dct1=dict()
print(dct1,type(dct1))
#{} <class 'dict'>
dct2={
   }
print(dct2,type(dct2))
#{} <class 'dict'>
#申明非空字典
dct3={
   "xingming":"tianxiu","mima":"111"}
print(dct3,type(dct3))

2.字典操作

(1)增

dct1=dict()
#增加数据
dct1["password"]="mima"
print(dct1)
#{'password': 'mima'}

#增加一个键值对
dct1.setdefault("name","tianxiu")
print(dct1)
#{'password': 'mima', 'name': 'tianxiu'}

#增加多个键值对
dct1.update({
   "school":"lsh","like":"football"})
print(dct1)
#{'password': 'mima', 'name': 'tianxiu', 'school': 'lsh', 'like': 'football'}

(2)删

dct1=dict()
#增加数据
dct1["password"]="mima"
print(dct1)
#{'password': 'mima'}

#增加一个键值对
dct1.setdefault("name","tianxiu")
print(dct1)
#{'password': 'mima', 'name': 'tianxiu'}

#增加多个键值对
dct1.update({
   "school":"lsh","like":"football"})
print(dct1)
#{'password': 'mima', 'name': 'tianxiu', 'school': 'lsh', 'like': 'football'}

#修改
dct1["name"]="xilei"
print(dct1)
#{'password': 'mima', 'name': 'xilei', 'school': 'lsh', 'like': 'football'}

dct1.update({
   "password":"567"})
print(dct1)
#{'password': '567', 'name': 'xilei', 'school': 'lsh', 'like': 'football'}

#删除
dct1.pop("like")
print(dct1)
#{'password': '567', 'name': 'xilei', 'school': 'lsh'}

(3)改

dct1=dict()
#增加数据
dct1["password"]="mima"
print(dct1)
#{'password': 'mima'}

#增加一个键值对
dct1.setdefault("name","tianxiu")
print(dct1)
#{'password': 'mima', 'name': 'tianxiu'}

#增加多个键值对
dct1.update({
   "school":"lsh","like":"football"})
print(dct1)
#{'password': 'mima', 'name': 'tianxiu', 'school': 'lsh', 'like': 'football'}

#修改
dct1["name"]="xilei"
print(dct1)
#{'password': 'mima', 'name': 'xilei', 'school': 'lsh', 'like': 'football'}

dct1.update({
   "password":"567"})
print(dct1)
#{'password': '567', 'name': 'xilei', 'school': 'lsh', 'like': 'football'}

(4)查

#查询
#查询数据
print(dct1["school"])
#通过key查询value數据
print(dct1.get("name")) # 通过key查询value数据(只能用来查询)
print(dct1.keys()) # 获取所有的key数据
print(dct1.values()) # 获取所有的value数据
print(dct1.items()) # 获取所有的key:value数据
#lsh
#xilei
#dict_keys(['password', 'name', 'school'])
#dict_values(['567', 'xilei', 'lsh'])
#dict_items([('password', '567'), ('name', 'xilei'), ('school', 'lsh')])
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114471.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 电脑广告多?Windows 自带恶意软件删除工具还不会使用?有必要安装杀毒软件吗?

    电脑广告多?Windows 自带恶意软件删除工具还不会使用?有必要安装杀毒软件吗?可能有些小伙伴发现,哎?为什么我的电脑弹窗广告这么多?难不成小视频看多了?电脑中毒了?Windows系统自带的恶意软件删除工具你还不会使用?今天我们一方面带领大家学会使用这个系统自带的工具,另一方面,谈一谈作为一个程序员对于恶意软件和杀毒软件的一些看法,希望能帮助大家纠正一些误区。

  • Windows7系统提示当前页面的脚本发生错误怎么办「建议收藏」

    Windows7系统提示当前页面的脚本发生错误怎么办「建议收藏」Windows7系统电脑提示当前页面的脚本发生错误怎么办?下面分享一种方法,希望可以帮到您。工具/原料 电脑 Windows7系统 方法/步骤 打开IE浏览器,点击右上角的“设置”图标,如图所示 打开“Internet选项”,如图所示 在弹出的窗口中,找到“安全”选项,如图所示,点击进入 点击右下角的“将所有区域重置为默认级别”,如图所示 选择“高级”,点击“重置”,如图所示 此时“删除个性化设置

  • 布隆过滤器的原理,使用场景和注意事项有哪些_布隆过滤器的基本工作原理

    布隆过滤器的原理,使用场景和注意事项有哪些_布隆过滤器的基本工作原理目录什么是布隆过滤器实现原理为啥不用HashMap的问题布隆过滤器数据结构支持删除么如何选择哈希函数个数和布隆过滤器长度最佳实践Redis大Value拆分参考资料什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilisticdatastructure),特点是高效地插入和查询,可以用来告诉你“某样东西一定不存在或者可能存在”。相比于传统的List、Set、Map等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。实现

  • waypoint_使用jQuery Waypoint创建粘性导航标题

    waypoint_使用jQuery Waypoint创建粘性导航标题在本教程中,我们将创建一个导航栏,当您向下滚动时,它会陪伴您-我们还将在混合中添加一两个two头以对其进行修饰。介绍克里斯·科耶尔(ChrisCoyier)在讨论:before和:after伪元素的优点时说:“每个人都喜欢丝带。”我已经看到这些程式化的三角形边缘的丝带在整个互联网上突然冒出(一个著名的例子是Facebook的IntroducingTimeline页面),尽管它…

    2022年10月21日
  • iostat命令详解——linux性能分析[通俗易懂]

    iostat命令详解——linux性能分析[通俗易懂]之前总结uptime和free命令,今天继续来总结一下iostat。给自己留个笔记,同时也希望对大家有用。版本信息:         sysstatversion9.0.4         (C)SebastienGodard(sysstatorange.fr)基本使用:          iostat[-c][-d][-N][-n

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号