python序列(二)

发布时间:2020-07-08 13:57:12 作者:兔子也会飞
来源:网络 阅读:421

列表(list)

-

list的特点
1.有序
2.编号,可以通过编号访问
3.可遍历
4.可追加/可插入
5.可删除/可以弹出
6.可修改
7.长度不定
list的定义:
1.使用中括号包含
2.每个元素之间使用逗号分隔
3.可包含任意数据类型

####访问list
1.列表是有序的数据集,通过列表名[索引]的方式访问列表中的元素
2.索引编号
3.从左向右依次为0,1,2,3,…,n – 1
4.从右向左一次为-1,-2,-3,…,-n
5.访问元素的索引必须存在,否则报错
6.元素修改
7.通过直接给 列表名[索引] 修改对应索引位置的值
8.修改元素的索引必须存在,否则报错
9.删除 del

使用for访问列表中所有的元素
1.类型转换
2.可以通过函数list将其他可遍历的类型转化为列表
3.使用range函数快速创建序列
4.range(end) 创建从0到end-1的连续整数组成的序列
5.range(start, end) 创建从start到end-1的连续整数组成的序列
6.range(start, end, step)创建从start到end-1的每间隔stop个整数组成的序列
列表常见操作
1.获取list元素的数量
>>> nums = [1,2,3,True,False,['a','b','c'],'zhangsan']
>>> len(nums)
7
2.获取list中元素最大值、最小值
最大值:max
>>> max_l1 = [1,22,33,44,3,4,5]
>>> max(max_l1)
44

获取list中元素的最小值:
>>> max_l1 = [1,22,33,44,3,4,5]
>>> min(max_l1)
1

#####3.判断元素是否在list中存储

>>> l1
[1, 22, 11, 13, 12, 14]
>>> 1 in l1
True
>>> 10 not in l1
True
4.根据索引删除list中对应元素
>>> l1
[1, 22, 11, 13, 12, 14]
>>>
>>> del l1[2]   
>>> l1
[1, 22, 13, 12, 14]
列表运算

##帮助函数

>>> dir(list())
['__add__', '__class__', '__contains__', 
'__delattr__', '__delitem__', '__dir__', 
'__doc__', '__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__', '__gt__',
'__hash__', '__iadd__', '__imul__', '__init__',
'__init_subclass__', '__iter__', '__le__', 
'__len__', '__lt__', '__mul__', '__ne__', 
'__new__', '__reduce__', '__reduce_ex__', 
'__repr__', '__reversed__', '__rmul__',
'__setattr__', '__setitem__', '__sizeof__',
'__str__', '__subclasshook__', 'append', 
'clear', 'copy', 'count', 'extend', 'index', 
'insert', 'pop', 'remove', 'reverse', 'sort']
>>> help(list.append)
Help on method_descriptor:

append(...)
L.append(object) -> None -- append object to end

函数:append 、 extend

描述 append extend
参数类型 任意类型 可遍历
返回值
功能 将参数中元素整体追加到list最右侧 将可遍历参数中的每个元素追加到list最右侧
>>> nums
[1, 'zhangsan', [2, 3, 4]]
>>> nums.append('dxy')
>>> nums.append([1,23,4,[1,2,3]])
>>> nums
[1, 'zhangsan', [2, 3, 4], 'dxy', [1, 23, 4, [1, 2, 3]]]

函数:count、index

描述 count index
参数类型 任意类型 任意类型
返回值 lnt int
功能 获取元素在list中出现的次数 获取元素在list中的位置,不存在则报错,可指定查找list start和end范围

函数:pop、remove

描述 pop remove
参数类型 整数 任意
返回值 任意
功能 根据索引删除list中元素,并返回,若索引在list中不存在则报错 从list中删除指定的值,若值不存在,则报错

while True:
prompt = input('请输入任务名称/do:')
if prompt == 'do':
if jobs:
print('请完成任务:' + jobs.pop(0))
else:
print('所有任务已完成,可以放心下班啦')
break
else:
jobs.append(prompt)

常用函数:len max min sum 
-
    len 显示列表的长度
    max 显示列表的最大值
    min 显示列表的最小值
    sum 显示所有元素的和

##元组介绍

* 不可变的列表                          
* 定义                            
* 使用小括号包含                         
* 每个元素之间使用逗号分隔                    
* 可包含任意数据类型                       
* 如果元组只有一个元素时,元素后的逗号不能省略          

元组与列表相同的操作: 
-                    
* 使用方括号加下标访问元素                 
* 切片(形成新元组对象)                  
* count()/index()              
* len()/max()/min()/tuple()    
** **
元组中不允许的操作:                                    
-                                                           
* 修改、新增元素                                                   
* 删除某个元素(但可以删除整个元组)                                         
* 所有会对元组内部元素发生修改动作的方法。例如,元组没有remove,append,pop等方法。          

访问与修改元组
-
-   访问
- 元组是有序的数据集,通过元组名[索引]的方式访问元组中的元素
- 索引编号
- 从左向右依次为0,1,2,3,…,n – 1
- 从右向左一次为-1,-2,-3,…,-n
- 访问元素的索引必须存在,否则报错
- 元素不能修改

元组的四则运算
- 

- 加(+)
    - 必须为两个tuple相加
- 乘(*)
    - 必须一个为整数
```python
练习:
>>> (1,2,3)+(4,5,6)
(1, 2, 3, 4, 5, 6)
>>> (1,2,3)*2
(1, 2, 3, 1, 2, 3)

python表达式 结果 描述
len(1,2,3) 3 计算元素的长度
(1,2,3)+(4,5,6) (1,2,3,4,5,6) 相加-连接
('Hi!',)*4 ('H!,',('H!,',('H!,',('H!,') 复制
3 in(1,2,3) True 元素是否存在
for x in(1,2,3):print(x) 123 遍历

遍历元组

元组的切片
-
- 按照规则获取tuple中一部分元素生成新的tuple
    - tuple[start:end:step]
    - tuple [::step]
    - tuple[start:end]
    - tuple[:end]
    - tuple [start:]
    - tuple[:]
```python
>>> nums = tuple(range(10))
>>> nums
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> nums[:3]
(0, 1, 2)
>>> nums[4:7]
(4, 5, 6)
>>> nums[4:7:2]
(4, 6)

元组的不可变性

元组函数

count 计算tuple中存在相同元素的数量
index 获取元素在tuple中的位置

>>> dir(tuple)
['__add__', '__class__', 
'__contains__', '__delattr__',
 '__dir__', '__doc__', '__eq__', 
 '__format__', '__ge__', '__getattribute__', 
 '__getitem__', '__getnewargs__', '__gt__', 
 '__hash__', '__init__', '__init_subclass__',
  '__iter__', '__le__', '__len__', '__lt__', 
  '__mul__', '__ne__', '__new__', 
  '__reduce__', '__reduce_ex__', 
  '__repr__', '__rmul__', '__setattr__',
  '__sizeof__', '__str__', '__subclasshook__',
   'count', 'index']

课堂练习

for i in range(len(nums)-1):
for idx in range(len(nums)-1):
if nums[idx] > nums[idx +1]:
tmp = nums[idx]
nums[idx] = nums[idx + 1]
nums[idx +1] = tmp
print(nums)

练习2
- 

* 获取两个list中相同的元素到第三个列表中
* nums_1 = [1, 2, 3, 4, 5, 3, 10, 11]
* nums_2 = [1, 2, 3, 1, 4, 5, 5, 3, 12, 34]
* 保证第二个练习中第三个列表中元素不重复

```python
nums1 = [1,2,3,4,5,3,10,11]
nums2 = [1,2,3,1,4,5,5,3,12,24]
nums3 = []

for i in nums1:
    if i in nums2 and i not in nums3:
        nums3.append(i)
print(nums3)

None

first_num = None
for num in nums:
if first_num is None:
first_num = num
elif num > first_num:
first_num = num
print(first_num)

推荐阅读:
  1. python序列
  2. Rest Framework:二、序列化组件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python 序列 总结

上一篇:WPF集合控件如何实现分隔符

下一篇:使用InstanceMonitorDataType实例的监控数据集合的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》