2024年最新2024华为Python高级面试题及答案,Python基础教程:关于序列操作的方式方法_序列保存为[],2024年最新面试hrd需要注意什么

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> L = [1,2,3,4]
>>> L1 = [['a'],['b']]

>>> L0 = L + L1
>>> L0
[1, 2, 3, 4, ['a'], ['b']]

>>> L1[0][0] = "aa"
>>> L0
[1, 2, 3, 4, ['aa'], ['b']]

上面修改"a"为"aa"也会影响到+的结果L0,因为[‘a’]是一个可变对象。同样对于*的重复操作,也是拷贝引用:

>>> L = []
>>> L1 = [L] \* 3
>>> L1
[[], [], []]

>>> L.append(3)
>>> L1
[[3], [3], [3]]

3.len()、max()和min()函数

len()返回序列的元素个数,也就是序列的长度。min()和max()分别返回序列中最小、最大的元素。

>>> len(L), min(L), max(L)
(4, 'a', 'd')

4.找出元素在序列中出现的次数count()

>>> s="hello world"
>>> s.count("h"),s.count("o")
(1, 2)

5.索引取元素

S[i],i为从0开始的数值,可以取负数表示从尾部开始取。

例如:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> L
['a', 'b', 'c', 'd']
>>> L[0]
'a'
>>> L[1]
'b'
>>> L[-1]
'd'

负数的i等价于len(S)+i作为索引。例如,len(S) = 3, i = -1,表示取最后一个元素,也就是index=2的元素。

6.分片

分片操作用于从序列中取出子序列,它会创建新的内存块来保存取出来的序列对象。

  • S[i:j]:从索引位i取到索引位j,不包括j
  • S[i:]:从索引位i开始取到最结尾
  • S[:j]:从最开头取到索引位j,不包括j
  • S[:]:从头取到尾,相当于拷贝了序列,但得到的是新序列
  • S[i:j:k]:k表示取元素时的步进间隔,默认为1,表示每个元素都取,如果为2,则表示取一个跳过一个

分片的区间是左闭右开的,所以不会包括j的索引位。i和j可以是负数,负数表示从尾部开始计算索引位。例如,-1表示最后一个元素,-2表示倒数第二个元素。

特别地,如果i = j,则表示找到序列中的这个位置,但因为切片长度位0,所以返回空。

例如:

>>> s = "hello world"
>>> len(s)
11

>>> s[0:6]
'hello '
>>> s[:6]
'hello '

>>> s[6:10]   # 不包括index=10
'worl'
>>> s[6:11]   # 所以用大于10的结束位
'world'
>>> s[6:]
'world'
>>> s[6:-1]
'worl'

>>> s[:]      # 拷贝序列得到副本
'hello world'

>>> s[::1]     # 步进为1,默认的
'hello world'
>>> s[::2]     # 每次跳过一个元素
'hlowrd'

>>> s[1:1]    # 找到index=1的位置
''

7.找出第一个元素的位置index()

index(x,i,j)表示从序列中搜索元素x并返回第一次出现的x的位置,如果给定了i,则表示从索引位i开始搜索,给定了j则表示最多搜索到索引位为j的位置。

如果找不到元素,将报错。i和j可以是负数,但无论它们是正数还是负数,都是搜索的开始和结束位。

>>> s="hello world"
>>> s.index("o")
4
>>> s.index("o",1,-1)
4
>>> s.index("o",-5)    # 从倒数第5个元素开始搜索
7
>>> s.index("a")       # 搜索不到时报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

不可变序列的操作

相比可变序列,不可变序列的唯一操作是可以支持内置的hash()操作。可变序列无法hash()。

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> hash("asd")
-2014632507

>>> hash((1,23))
1320437575

>>> hash([1,23])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

能够hash的不可变序列,意味着能作为dict的key,能保存到set或frozenset中。

可变序列的操作

  • s[i] = x、s[i:j] = t将序列中的元素替换成x或可迭代对象t
  • s[i:j:K] = t将序列中的元素替换成可迭代对象t,t的长度必须和s[i:j:k]的长度一样
  • del s[i]、del s[i:j]删除序列中的元素,等价于s[i] = []、s[i:j] = []
  • del s[i:j:k]删除序列中的某些元素,k为步进值
  • s.remove(x):移除第一次出现的元素x
  • s.clear()表示清空序列中的所有元素,等价于del s[:]
  • s.pop([i])表示移除序列s中的第i个元素并返回这个元素,中括号表示可选,如果没有参数,默认移除最后一个元素
  • s.append(x)向序列的尾部追加元素x,等价于s[len(s):len(s)] = [x]
  • s.extend(t)或s += t表示将t扩展到序列s的尾部,等价于s[len(s):len(s)] = t
  • s.insert(i,x)表示将x插入到序列中的i索引位置处,等价于s[i:i] = [x]
  • s *= n表示将序列n的元素重复n次追加到s的尾部
  • s.copy()表示拷贝序列得到一个新的序列副本,等价于s[:]
  • s.reverse()原地反转序列s,为了节约内存空间,所以是原地反转,不会返回反转后的序列

对于序列,还有一个内置函数reversed(SEQ)。与之对应的,还有一个内置函数sorted(),但它操作的对象是可迭代对象,并不一定总是序列。

示例1:序列元素赋值

>>> L = ['aa','bb','cc','dd','ee','ff']
>>> L1 = [1,2,3,4]

>>> L[0] = "a"
>>> L
['a', 'bb', 'cc', 'dd', 'ee', 'ff']

>>> L[1:2] = L1
>>> L
['a', 1, 2, 3, 4, 'cc', 'dd', 'ee', 'ff']

>>> L[::2] = [1,2,3,4,5]
>>> L
[1, 1, 2, 3, 3, 'cc', 4, 'ee', 5]

示例2:删除元素

删除相关操作有del、remove()、pop()、clear()。

例如:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''


### 最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~  

给大家准备的学习资料包括但不限于:  

Python 环境、pycharm编辑器/永久激活/翻译插件  

python 零基础视频教程  

Python 界面开发实战教程  

Python 爬虫实战教程  

Python 数据分析实战教程  

python 游戏开发实战教程  

Python 电子书100本  

Python 学习路线规划

![](https://img-blog.csdnimg.cn/d29631674929476f9c3b30f7ff58dff0.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaTM0Nzc5NTc5MA==,size_16,color_FFFFFF,t_70)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)**
![img](https://img-blog.csdnimg.cn/img_convert/73b6ab5ba41de1e35ffd9354658d89f1.png)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
L2ZlaTM0Nzc5NTc5MA==,size_16,color_FFFFFF,t_70)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)**
[外链图片转存中...(img-jQVfUctr-1713813600442)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 23
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值