自学python第三天

0.字符串的操作
编程中关于字符串大小写转换的情况,经常遇到。我们将相关方法汇总到这里。为了方便学
习,先设定一个测试变量:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 列表的介绍
    python的列表即数组 可以接受不同类型的数据
    下面看一下代码
array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array)

结果如下
在这里插入图片描述

  1. 列表的调用
    1)打印整个数组:直接print(数组名)
    2)访问列表的某一个元素
    数组名[0] 代表第一个元素

    3)如果列表很长,你不知道最后一个元素是第几个,那么你又想访问最后一个元素,那么怎么做呢?
    别急,看以下代码
array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array[len(array)-1])

在这里插入图片描述
使用len()函数可以轻松解决此问题啦。

但其实呢,还有更快的更好的方案
我们这里要知道一点,列表的最后一个元素可以用下标 -1来访问
废话不多说,看code

array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array[-1])

在这里插入图片描述
在这里插入图片描述

  1. 列表切片(一次性获取多个元素,有多个函数)
    1) 我们假设有一个数组名叫 array
    那么可以用array[0:3]访问前三个元素
    可以用左开右闭来理解
array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array[0 : 3])

在这里插入图片描述

array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array[3 : 6])

在这里插入图片描述
由上面两个例子我们可知:
array[0:3] 是从array[0]访问,访问(3-0)个元素,也就是访问到array[2]。
array[3:6]是从array[3]访问,访问(6-3)个元素,也就是访问到array[5]。

真正让作者嘚瑟的是
array[ : 3]

array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array[ : 3])

在这里插入图片描述
可以发现,从array[0]开时访问,访问(3-0)个,一直到array[2]

array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array[3: ])

在这里插入图片描述
可以发现,从array[3]开始访问,访问到最后。

array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array[ : ])

上面这个代码那么不用猜疑,这个肯定是全部访问。

2)设置步长去访问

array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array[0:6:2])

结果:在这里插入图片描述
3)将整个列表倒序输出
那么就设置步长为-1

array = [1, 2, 3, 4, 5, "你又怎么了"]
print(array[::-1])

在这里插入图片描述

  1. 列表的增删改查
    1)列表的元素增加
    首先,我们初始化一个列表 使用.append函数在列表末尾添加一个元素
heros = ["钢铁侠", "绿巨人"]
print(heros)
heros.append("黑寡妇")
print(heros)

在这里插入图片描述
注意:.append函数仅仅是添加在末尾,且只能添加一个元素。
那么,我们想要添加多个元素,怎么办呢?这时候,我们用到一个函数
.extend(),允许你添加一个可迭代对象
代码演示:

heros = ["钢铁侠", "绿巨人"]
print(heros)
heros.append("黑寡妇")
print(heros)
heros.extend(["鹰眼", "灭霸", "雷神"])
print(heros)

在这里插入图片描述
注意:extend()方法的参数必须是一个可迭代对象,比如字符串啦。新的内容是追加到原列表最后一个元素的后面。

****:insert(position,content)函数的说明:在列表的任意位置添加元素
position是指定插入的位置,content是成员
请看代码:

s=[1, 3, 4, 5]
s.insert(1, 2)
print(s)

结果如下
在这里插入图片描述
可以发现,插入的位置在第一个元素的后面,所以可以理解为待插入的位置为position的后面

如果要在开头插入呢?
那么输入s.insert(0, 0)即可在开头插入0这个元素

如果要在末尾插入呢?
那么输入s.insert(len(s), content)即可在末尾插入content这个元素啦。

2)删:
remove(content)函数:用于删除content这个元素,如果列表中有多个content,那么它只会删除第一个。

heros = ["钢铁侠", "绿巨人"]
print(heros)
heros.remove("绿巨人")
print(heros)

在这里插入图片描述
好,那么有时候我们需要删除某个位置上的 元素,
那么用pop(position)
它用于删除某位元素

heros = ["钢铁侠", "绿巨人"]
print(heros)
heros.pop(1)
print(heros)

在这里插入图片描述
注意,这里是按下标进行索引的,下标为1表示列表第2个元素
使用hero.clear()可以清空所有的元素

3)改:(单个替换,连续元素替换)
比如我们要把上面的绿巨人换成雷神
那么直接替换
heros[1]="雷神“

heros = ["钢铁侠", "绿巨人", "黑寡妇", "鹰眼", "蜘蛛侠", "雷神"]
print(heros)
heros[1] = "雷神"
print(heros)

在这里插入图片描述
如果,我们想要对连续位置进行替换,那么使用数列的切片
请看代码:

heros = ["钢铁侠", "绿巨人", "黑寡妇", "鹰眼", "蜘蛛侠", "雷神"]
print(heros)
heros[3:] = ["武松", "林冲", "李逵"]
print(heros)

结果:
在这里插入图片描述
******:那么,对于一个数字型的序列,我想对序列进行排序?
怎么办呢?是冒泡排序吗?显然这并不是python的优点,因为人家
已经封装好了库函数
sort() 函数可以实现序列的从小到大排序
reverse() 函数可以实现序列的从大到小的排序

num = [1, 9, 5, 6, 2, 7, 8]
num.sort()
print(num)
num.reverse()
print(num)

在这里插入图片描述

如此如此,节约大量时间那!!!!!!!

4)查:查找某个元素出现的次数(count(content)函数),查找某个元素的索引值(index(content))函数

num = [1, 1, 1, 9, 5, 6, 2, 7, 8]
count = num.count(1)
index = num.index(1)
print(count, index)

在这里插入图片描述
index()函数是返回第一个出现目标元素的索引值。

拷贝一个数组给另一个数组
直接赋值即可。

num = [1, 1, 1, 9, 5, 6, 2, 7, 8]
number = num[:]  #或者是number = num.copy()
print(number)

在这里插入图片描述
相比于C语言,这真的是太方便了。

  1. 列表的加和乘以及嵌套列表
    列表的嵌套和相乘主要是实现叠加的功能
    请看代码
num1 = [1, 2, 3]
num2 = [4, 5, 6]
num1 = num1 + num2
print(num1)
num1 = num1 * 3
print(num1)

在这里插入图片描述
可以发现,加法可以理解为后面叠加,乘法可以理解为后面追加几次前面的内容

  1. 数列的嵌套(其实也就是二维数组啦)
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in matrix:
    for each in i:
        print(each, end=' ')
    print()

在这里插入图片描述

由此可知,数组是一个可迭代对象
第一个for循环表示一维数组,其有3个元素[1,2,3] [4,5,6]
[7,8,9]
第二个for循环表示二维,其对应一维数组里面的三个元素
print是自动换行,end=‘ '是说把原来的换行功能替换为引号里面的东西

二维数列的索引

matrix[0]:表示列表第一个数列
matrix[0][0]:表示列表第一个数列的第一个元素

列表推导式
列表推导式:
x = [i * 2 for i in range(10)]
结构: 表达式 for i in sth
作用:将i*2替换给i

x = [i * 2 for i in range(10)]
print(x)

在这里插入图片描述
可以发现:原来的数组相应的元素依次乘了2倍

请思考以下程序

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(len(matrix))

在这里插入图片描述
可以发现:matrix的长度为3,以,为分隔

打印主对角线元素怎么打印呢?

matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]
diag = [matrix[i][i] for i in range(len(matrix))]
print(diag)

在这里插入图片描述
len()返回3,range()用于生成一个数字序列0 1 2
matrix[i][i]用于将 1 5 9 赋值给diag这个数列

打印副对角线元素呢?

diag = [matrix[i][len(matrix)-i-1] for i in range(len(matrix))]
print(diag)

在这里插入图片描述
宁学费了么?

再谈列表推导式

引入if语句的列表推导式
请砍程序

even = [i+1 for i in range(10) if i % 2 ==0]
print(even)

在这里插入图片描述
可以发现:首先执行 for i in range(10)
然后执行i%2==0
最后执行i+1

字符串也可以用啦 如下所示。

words = ["great", "good", "excellent", "fantastic"]
print(words[0])
fwords = [w for w in words if w[0] == 'f']
print(fwords)

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,今天我们来学习Python中的字典(Dictionary)。 字典是一种无序的、可变的数据类型,它以键值对(key-value)的形式存储数据,其中键(key)必须是唯一的,而值(value)可以是任意数据类型。字典用花括号{}表示,每个键值对之间用逗号隔开。 下面是一个简单的字典示例: ``` my_dict = {'name': '张三', 'age': 18, 'gender': '男'} ``` 这个字典中,'name'、'age'、'gender'就是键,而'张三'、18、'男'就是相应的值。 可以使用`dict()`函数来创建一个字典,也可以使用`{}`来创建一个空字典。 接下来,我们来看一些常用的字典操作。 1. 访问字典元素 可以通过键来访问字典中的元素,例如: ``` print(my_dict['name']) # 输出:张三 ``` 如果键不存在,则会抛出KeyError异常。 2. 修改字典元素 可以通过键来修改字典中的元素,例如: ``` my_dict['age'] = 20 print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男'} ``` 3. 添加字典元素 可以通过键来添加字典中的元素,例如: ``` my_dict['address'] = '北京市' print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男', 'address': '北京市'} ``` 4. 删除字典元素 可以通过键来删除字典中的元素,例如: ``` del my_dict['gender'] print(my_dict) # 输出:{'name': '张三', 'age': 20, 'address': '北京市'} ``` 5. 字典长度 可以使用`len()`函数来获取字典的长度,例如: ``` print(len(my_dict)) # 输出:3 ``` 6. 字典遍历 可以使用`items()`方法来遍历字典中的每一个键值对,例如: ``` for key, value in my_dict.items(): print(key, value) ``` 输出: ``` name 张三 age 20 address 北京市 ``` 通过上述操作,我们可以初步了解字典的基本用法。在实际应用中,字典是非常重要的数据类型,它可以用来存储和处理各种复杂的数据结构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值