Python 5个数据容器

列表(list)

特点:可以被修改

列表的定义

定义空列表:

变量名 = [] 变量名 = list()

定义变量:

变量名 = [元素1,元素2,元素3,... ]

取出列表元素

列表名 [下标索引]

从前向后,从0开始;从后向前,从-1开始

嵌套列表:

列表的常用操作
列表.append(元素)

向列表追加一元素

列表.extend(容器)

将数据容器的内容依次取出,追加到列表尾部

列表.insert(下标,元素)

在指定下标处,插入指定元素

del 列表[下标]

删除列表指定下标元素

列表.pop(下标)

删除列表指定下标元素;还能把删掉的元素作为返回值得到

列表.remove(元素)

从前向后,删此元素第一个匹配项

列表.clear()

清空列表

统计
列表.count(元素)

统计此元素在列表中出现的次数

len(列表)

统计容器内有多少元素

列表.index(元素)

查找指定元素在列表的下标

列表的遍历

while

for ------ 只是将容器里面的内容挨个取出

for ele in [1,2,3,4,5]:

print(f"列表中的元素有:{ele}")

元组(tuple)

特点:不可被篡改

元组的定义

定义空元组:

变量名 = () 变量名 = tuple()

定义元组变量:

变量名 = (元素1,元素2,元素3,...)

🔺定义单个元素

t1 = ("hello",) //当元组只有一个数据时,这个数据后面要加,

取出元组元素

元组名 [下标索引]

嵌套元组:

python 复制代码
my_tuple = ( (1 , 2 , 3 ) , (4 , 5 , 6) )
print(my_tuple[0][1])

my_list[0] = (1 , 2 , 3)

元组的常用操作
index()

查找某个数据,存在返回对应的下标

统计
count()

统计某个数据在当前元组出现的次数

len(元组)

统计元组内的元素个数

元组的遍历

while

for

for ele in (1,2,3,4,5):

print(f"元组的元素有:{ele}")
注意:元组的内容不可修改;但元组内的列表的内容可以修改

t1 = (1, 2, ['itheima', 'itcast'] )

t1[2][1] = 'best'

>> (1, 2, ['itheima', 'best'] )

字符串(str)

不可修改

取出字符串特定位置的字符

从前向后,下标从0开始

从后向前,下标从-1开始

字符串的常用操作
查找
字符串.index(字符串)

查找特定字符串的下标索引值(返回该字符串在原字符串的起始下标)

替换
字符串.replace(字符串1,字符串2)

将字符串中,字符串1的全部内容替换为字符串2(得到的是一个新字符串,不是修改字符串本身)

分割
字符串.split(分隔符字符串)

按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中

python 复制代码
my_str = "hello python itheima itcast"
new_my_str = my_str.split(" ")
print(new_my_str)

>> ['hello', 'python', 'itheima', 'itcast']

去除

去除字符串前后空格和换行符 ------ 字符串.strip()

python 复制代码
my_str = " hello python itheima itcast "
print(my_str.strip())

去除字符串前后指定字符串 ------ 字符串.strip(字符串)

python 复制代码
my_str = "12hello python itheima itcast21"
print(my_str.strip("12"))

按照单个字符串(划分两个小子串,满足任意一个就去掉),1,2都会被移除

统计
字符串.count(字符串)

统计字符串中某字符串的出现次数

len(字符串)

统计字符串的长度

字符串的遍历

while

for

for i in "黑马程序员":

print(i)

序列的切片

列表、元组、字符串均可视为序列;序列支持切片

语法:序列 [起始下标:结束下标(不含):步长]

步长为1:(一步一个)一个个取;步长为2:(一步两个)跳一个取;步长为N:跳N-1个取;

步长为负数:反向取(起始下标,结束下标也要反向标记)

1.my_tuple = (0,1,2,3,4,5,6)

print(my_tuple[:]) //起始和结束不写表示从头到尾;步长为1可以省略

>>(0,1,2,3,4,5,6)

2.my_str = "01234567"

print(my_str[::2])

>>0246

3.my_str = "01234567"

print(my_str[::-1]) //等同于将序列反转

>>76543210

序列切片的实践

python 复制代码
my_str = "万过薪月,员序程马黑来,nohtyP学"
#1.倒序,切片取出
print(my_str[::-1][9:14])
#2.切片取出,再反转
print(my_str[5:10][::-1])
#3.split,分隔;来替换空(是空!);倒序字符串
print(my_str.split(",")[1].replace("来","")[::-1])

集合(set)

集合的定义

特点:无序,不支持下标索引访问,但允许修改;去重;

定义空集合:

变量名 = set()

定义集合变量:

变量名 = {元素1,元素2,元素3,...}

集合常用操作
添加新元素

集合.add(元素)

将指定元素,添加到集合内

移除元素

集合.remove(元素)

从集合中随机取出一个元素

集合.pop()

清空集合

集合.clear()

集合1中求集合2的补集

集合1.difference(集合2) //集合1有而集合2没有;集合1、集合2不变

python 复制代码
set1={1,2,3}
set2={1,5,6}
print(set1.difference(set2))

>>{2,3}

消除两个集合交集

集合1.difference_update(集合2)//集合1内删和集合2相同的元素;集合1被修改;集合2不变

python 复制代码
set1={1,2,3}
set2={1,5,6}
set1.difference_update(set2)
print(set1)

>> {2,3}

2个集合合并为1个集合

集合1.union(集合2)//将集合1和集合2组合成新集合

统计集合元素数量

len(集合)

集合的遍历

集合不支持下标索引,不能用while;得用for

for ele in {1,2,3,4,5}:

print(ele)

字典(dict)

特点:字典不允许key的重复;新的会把老的覆盖掉

字典的定义

定义空字典:

my_dict = {} my_dict = dict()

定义字典变量:

my_dict = { key : value, key : value , ... , key : value }

字典数据的获取

通过key取对应的value

字典的嵌套

用字典记录学生各科的考试信息

|-----|----|----|----|
| 姓名 | 语文 | 数学 | 英语 |
| 王力宏 | 77 | 66 | 33 |
| 周杰伦 | 88 | 86 | 55 |
| 林俊杰 | 99 | 96 | 66 |

python 复制代码
my_dict = {
    "王力宏" : {
        "语文" : 77,
        "数学" : 66,
        "英语" : 33
    },
    "周杰伦" : {
        "语文" : 88,
        "数学" : 86,
        "英语" : 55
    },
      "林俊杰" : {
        "语文" : 99,
        "数学" : 96,
        "英语" : 66
    }
}

看周杰伦的语文信息 ------ my_dict["周杰伦"]["语文"]

字典的常用操作
新增和更新
字典[key] = value

对不存在的key执行这个操作,是新增;对已存在的key执行这个操作,是更新value值

删除元素
字典.pop(key)

返回指定key的value

清空字典
字典.clear()
获取全部key
字典.keys()

得到字典中的全部key

统计字典内元素数量
len(字典)

len(my_dict)

相关推荐
蓝天星空24 分钟前
Python调用open ai接口
人工智能·python
jasmine s33 分钟前
Pandas
开发语言·python
郭wes代码33 分钟前
Cmd命令大全(万字详细版)
python·算法·小程序
leaf_leaves_leaf1 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零11 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
404NooFound1 小时前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
天天要nx1 小时前
D102【python 接口自动化学习】- pytest进阶之fixture用法
python·pytest
minstbe1 小时前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机
落魄实习生2 小时前
AI应用-本地模型实现AI生成PPT(简易版)
python·ai·vue·ppt
苏言の狗2 小时前
Pytorch中关于Tensor的操作
人工智能·pytorch·python·深度学习·机器学习