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')])
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker 常用命令大全

    docker 常用命令大全Docker常用命令大全

    2022年5月13日
    49
  • Kali如何使用Reaver破解Wi-Fi网络的WPA/WPA2密码

    Kali如何使用Reaver破解Wi-Fi网络的WPA/WPA2密码   首先,我们需要在虚拟机VMware中安装kali系统,关于如何安装kali系统,我的博客里也有介绍;然后要准备一个USB无线网卡,我用的是小米随身wifi。   我们要先了解Reaver的原理:它利用了WiFi保护设置(WiFiProtectedSetup-下文中简称为WPS)的一个弱点,WPS是许多路由器上都有的一个功能,可以为用户提供简单的配置过程,它与设备中硬编…

    2022年6月2日
    133
  • python用turtle画彩虹,画春天

    python用turtle画彩虹,画春天

    2021年3月12日
    1.2K
  • FEC相关知识「建议收藏」

    FEC相关知识「建议收藏」1概念和原理前向纠错前向纠错也叫前向纠错码(ForwardErrorCorrection,简称FEC),是增加数据通讯可信度的方法。在单向通讯信道中,一旦错误被发现,其接收器将无权再请求传输。FEC是利用数据进行传输冗余信息的方法,当传输中出现错误,将允许接收器再建数据。常用的前向纠错码(1)电视传输专用的前向纠错码电视节目广播前向纠错采用2/3码率格形码、卷积交织

    2022年8月11日
    4
  • 常量池和堆的区别_字符串常量池在堆中还是方法区

    常量池和堆的区别_字符串常量池在堆中还是方法区写在前面:博主是一位普普通通的19届二本大学生,平时最大的爱好就是听听歌,逛逛B站。博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事,做自己以后不会留有遗憾的事,做自己觉得有意义的事,不浪费这大好的青春年华。博主写博客目的是记录所学到的知识并方便自己复习,在记录知识的同时获得部分浏览量,得到更多人的认可,满足小小的成就感,同时在写博客的途中结交更多志同道合的朋友,让自己在技术的路上并不孤单。目录:1.常量池与Class常量池2.运.

    2022年7月28日
    7
  • 微信公众平台定时群发系统(小懒人定时精灵篇)

    微信公众平台定时群发系统(小懒人定时精灵篇)  所谓微信公众平台定时群发系统就是在你一个时间内把你所要发布的文章都填好,然后在选择群发时间段。我最近在使用“小懒人定时精灵”,使用步骤方便,省了我好大部分的时间,听他们官方说现在正在丰富内容,期待以后有更多的功能。“小懒人定时精灵“解救了那些傻傻地守在电脑旁发送微信的人们,现在微信公众平台的推送也能定时群发了。预先到微信后台编辑一条包括文字、图片、语音、视频、图集,然后到小懒…

    2022年6月3日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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