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/114568.html原文链接:https://javaforall.net

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


相关推荐

  • 并查集例题_并查集算法

    并查集例题_并查集算法E – 带删除并查集 UVA – 11987 Almost Union-Find

    2022年4月20日
    39
  • DreamWeaver初学教程

    DreamWeaver初学教程DreamWeaver是个原本由Macromedia公司所开发的著名网站开发工具。它使用所见即所得的接口,亦有HTML编辑的功能。它现在有Mac和Windows系统的版本。随Macromedia被Adobe收购后,Adobe也开始计划开发Linux版本的Dreamweaver了。Dreamweaver自MX版本开始,使用了Opera的排版引擎"Presto"作为网页预览。使用Dreamwea…

    2022年4月28日
    38
  • html 行级元素和块级元素标签列表

    html 行级元素和块级元素标签列表一 显示元素 一 块级元素 div p h1 h6 form ul ol dl dt dd li table tr td th hr blockquote address table menu preHTML5 header section article footer 等块级元素独占一行 当没有设置宽高时 它默认设置为 100 其宽度自动填满其父元素宽度 块级元素允许设置宽高 widt

    2025年8月24日
    3
  • jvm常量池和字符串常量池_常量池中的字符串是对象吗

    jvm常量池和字符串常量池_常量池中的字符串是对象吗JVM——字符串常量池详解引言在Java开发中不管是前后端交互的JSON串,还是数据库中的数据存储,我们常常需要使用到String类型的字符串。作为最常用也是最基础的引用数据类型,JVM为String提供了字符串常量池来提高性能,本篇文章我们一起从底层JVM中认识并学习字符串常量池的概念和设计原理。字符串常量池由来在日常开发过程中,字符串的创建是比较频繁的,而字符串的分配和其他对象的分配是类似的,需要耗费大量的时间和空间,从而影响程序的运行性能,所以作为最基础最常用的引用数据类型,Java设计者在

    2022年7月28日
    5
  • sql server创建数据表的完整语法_sqlserver语法大全

    sql server创建数据表的完整语法_sqlserver语法大全sqlserver基础语法创建数据库创建表1.创建数据库2.表的创建3.在现有表中添加标识列4.创建外键5.添加外键6.约束7.创建局部临时表8.创建全局临时表9.创建具有check约束字段的数据库表10.创建含有计算字段的数据库表11.创建含有自动编号字段的数据库表12.创建含有排序字段和默认值的数据表13.动态判断数据库表是否存在14.查看表的各种信息,可以查看指定数据库表的属性、表中字…

    2025年7月6日
    4
  • Spring AOP入门使用详解

    Spring AOP入门使用详解AOP入门详解

    2022年6月17日
    30

发表回复

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

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