python中的列表、元组、字典、集合(列表篇)

数据类型定义符号访问元素是否可变是否重复是否有序
列表 [ ]索引可变可重复有序
元组()索引不可变可重复有序
字典{key:value}可变可重复无序
集合{ }可变不可重复无序

列表

列表是包含若干元素的有序连续内存空间。在python中,同一个列表中的元素的数据类型可以各不相同。

列表创建与删除

1.使用方括号直接创建列表

values=[ 1,2,3]                # [1,2,3]

2.使用list()创建列表

values=list(range(5))     # [0,1,2,3,4]

3.把元组转换为列表

values=list((1,2,3))                 # [1,2,3]

values=list['python']                 # ['p','y','t','h','o','n']

4.把迭代器对象转换成列表

values=list(map(str,range(5)))                #['0', '1', '2', '3', '4']

5.

values1=random.choices(range(10),k=5)  # [9, 1, 9, 8, 5]  (choices允许重复)

6.

values2=random.sample(range(10),k=5)   # [9, 1, 6, 7, 4] (sample不允许重复)

列表元素访问

列表、元组和字符串属于有序序列,其中的元素有严格的先后顺序,可以使用整数作为下标来随机访问其中任意位置上的元素,也支持使用切片来访问其中的多个元素。

列表、元组和字符串都支持双向索引,有效范围为[-L,L-1],其中L表示长度。正向索引时0表示第一个元素;反向索引时-1表示最后一个元素,-2表示倒数第2个元素。

列表常用方法

append()、insert()、extend() 增

append()用于向列表尾部追加一个元素,insert()用于向列表任意指定位置前面插入一个元素,extend()用于将可迭代对象中的所有元素追加至当前列表的尾部,这三个方法都没有返回值。

pop()、remove()、clear() 删

pop()用于删除并返回指定位置上的元素,不指定位置时默认删除并返回列表中最后一个元素,如果列表为空或者指定的位置不存在会抛出异常;remove()用于删除列表中第一个值与指定值相等的元素,如果不存在则抛出异常;clear()用于清空列表中所有元素。三者中只有pop()方法有返回值。

sort()、reverse() 排序

sort()用于按照指定的规则对列表中所有元素进行排序,其中key参数用来指定排序规则,可以是函数、党法、lambda表达式、类等可调用对象,不指定排序规则时默认按照元素的大小直接进行排序;reverse参数用来指定升序排序还是降序排序,默认升序排序,如果需要降序排序可以指定参数reverse=True。两种方法均无返回值。

copy()复制

copy()返回列表对象的浅复制(指只对列表中第一级元素的引用进行复制,在浅复制完成的瞬间,新列表和原列表包含同样的引用。如果原列表中只包含整数、实数、复数、元组、字符串、range对象以及map对象、zip对象等可哈希对象或称不可变对象,浅复制不会带来任何副作用。但是如果原列表中包含列表、字典、集合这样的不可哈希对象或称可变对象,那么浅复制得到的列表和原列表之间可能会相互影响。)

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python编程语言,有四种常用的集合数据类型,它们分别是列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。列表是一种有序和可更改的集合,允许重复的成员。元组是一种有序且不可更改的集合,也允许重复的成员。字典是一个无序、可变且有索引的集合,其没有重复的成员。而集合是一种无序和无索引的集合,没有重复的成员。这四种集合数据类型在Python都有着不同的特点和用途。 在Python列表元组和字符串都属于序列,它们的元素都可以通过编号进行访问。而字典则属于映射,其的元素是以键值对的形式存在的。集合则不属于序列或映射的任何一种,它是一种独立的数据类型,用于存储一组不重复的元素。 总结起来,Python列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)都是常用的集合数据类型,它们各自有着不同的特点和用途。列表是有序和可更改的集合元组是有序且不可更改的集合字典是无序、可变且有索引的集合集合是无序和无索引的集合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [浅谈python四种集合数据类型—【列表元组集合字典】](https://blog.csdn.net/QWERTYzxw/article/details/121479048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python 元组集合字典](https://download.csdn.net/download/weixin_38603219/13752298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值