7.Python列表,
7.Python列表,
List列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推¶
python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
定义
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
In [1]:
#声明列表 Marvel_Heroes = ['jack', 'tom', 'lucy', 'superman', 'ironman'] Computer_brands = [] print(id(Marvel_Heroes)) print(id(Computer_brands)) #定义空列表 #遍历 for name in Marvel_Heroes: print(name)
1633246958920 1633246958856 jack tom lucy superman ironman
查
In [2]:
#获取第一个元素 print(Marvel_Heroes[0]) #获取最后一个元素 print(Marvel_Heroes[-1]) print(Marvel_Heroes[len(Marvel_Heroes)-1]) #判断是否存在 result = 'jack' in Marvel_Heroes print(result) #切片操作 print(Marvel_Heroes[1:3]) #包前不包后 #反向 print(Marvel_Heroes[-1::-2])
jack ironman ironman True ['tom', 'lucy'] ['ironman', 'lucy', 'jack']
增 :append() extend() insert(¶
删:删除时注意删了一个元素继续原来的遍历可能会造成访问越界。因为删除一个元素直接会在内存减少空间。
改
In [3]:
#增: # append(): 在末尾追加 brands = ['hp', 'thinkpad'] brands.append('dell') print(brands) # extend():把字符串一个一个拆了再追加,相当于列表合并 names = [] names.extend('dell') #示范 print(names) names.extend(brands) #正确的使用 print(names) # insert():指定位置插入,原来的数据往后移动 brands = ['hp', 'thinkpad'] brands.insert(1, 'dell') print(brands)
['hp', 'thinkpad', 'dell'] ['d', 'e', 'l', 'l'] ['d', 'e', 'l', 'l', 'hp', 'thinkpad', 'dell'] ['hp', 'dell', 'thinkpad']In [4]:
#删 brands = ['hp', 'thinkpad', 'lenovo', 'huawei', 'dell', 'mac', 'apple', 'hp', 'hp', 'acer'] l = len(brands) i = 0 while i < l: if 'hp' == brands[i] or 'mac' == brands[i]: del brands[i] l -= 1 i -= 1 #防止出现连续的情况,漏删了后面内容 i += 1 print(brands) #防止漏删法2 brands = ['hp', 'thinkpad', 'lenovo', 'huawei', 'dell', 'mac', 'apple', 'hp', 'hp', 'acer'] l = len(brands) i = 0 while i < l: if 'hp' != brands[i] and 'mac' != brands[i]: i += 1 else: del brands[i] l -= 1 print(brands) #防止漏删法3 brands = ['hp', 'thinkpad', 'lenovo', 'huawei', 'dell', 'mac', 'apple', 'hp', 'hp', 'acer'] l = len(brands) i = 0 while i < l: if 'hp' == brands[i] or 'mac' == brands[i]: del brands[i] l -= 1 continue #防止漏删了连续的内容 i += 1 print(brands)
['thinkpad', 'lenovo', 'huawei', 'dell', 'apple', 'acer'] ['thinkpad', 'lenovo', 'huawei', 'dell', 'apple', 'acer'] ['thinkpad', 'lenovo', 'huawei', 'dell', 'apple', 'acer']In [5]:
#改 brands[5] = 'xiaomi' print(brands)
['thinkpad', 'lenovo', 'huawei', 'dell', 'apple', 'xiaomi']
排序
In [6]:
import random random_list = random.sample(range(0, 100), 6) print(random_list) list_sum = sum(random_list) print(list_sum) random_list = sorted(random_list) #默认为升序,sorted(random_list, reverse = False) print(random_list)
[25, 5, 22, 88, 38, 70] 248 [5, 22, 25, 38, 70, 88]
列表函数
添加:append extend insert 删除:del remove(e):移除列表中第一次出现的元素,如果没有找到要删除的元素则报异常 pop():弹栈,移除列表中的最后一个元素,返回值是删除的那个元素,但是也可以指定index删除 clear():清空列表,将列表的所有内容全部删除
In [7]:hotpot_list = ['海底捞', '呷哺呷哺', '热辣一号', '宽板凳'] print(hotpot_list) print('------------------------------------------------------------') hotpot_list.append('张亮麻辣烫') print(hotpot_list) print('------------------------------------------------------------') result = hotpot_list.remove('张亮麻辣烫') #移除列表中第一次出现的元素,如果没有找到要删除的元素则报异常 print(result) #没有返回值 print(hotpot_list) print('------------------------------------------------------------') hotpot_list.append('张亮麻辣烫') result = hotpot_list.pop() #弹栈,移除列表中的最后一个元素,返回值是删除的那个元素 print(result) #返回值是最后一个元素 print(hotpot_list) result = hotpot_list.pop(2) print(result) print(hotpot_list) print('------------------------------------------------------------') hotpot_list.reverse() #将列表倒序 print(hotpot_list) print('------------------------------------------------------------') hotpot_list.clear() print(hotpot_list)
['海底捞', '呷哺呷哺', '热辣一号', '宽板凳'] ------------------------------------------------------------ ['海底捞', '呷哺呷哺', '热辣一号', '宽板凳', '张亮麻辣烫'] ------------------------------------------------------------ None ['海底捞', '呷哺呷哺', '热辣一号', '宽板凳'] ------------------------------------------------------------ 张亮麻辣烫 ['海底捞', '呷哺呷哺', '热辣一号', '宽板凳'] 热辣一号 ['海底捞', '呷哺呷哺', '宽板凳'] ------------------------------------------------------------ ['宽板凳', '呷哺呷哺', '海底捞'] ------------------------------------------------------------ []
enumerate():函数用于将一个可遍历的数据对象(如列表、元祖或字符串)组合为一个索引序列。
In [8]:
l1 = ['a', 'abc', 'jk', 'poop'] for value in l1: print(value) for index, value in enumerate(l1): print(index, value)
a abc jk poop 0 a 1 abc 2 jk 3 poopIn [9]:
###例子:冒泡排序 numbers = [5, 7, 8, 9, 4, 2, 3, 1, 6, 10] #numbers = sorted(numbers) print ('排序前列表 :',numbers) for i in range(len(numbers)): temp = numbers[i] for index, value in enumerate(numbers[i:]): if temp > value: numbers[index + i] = temp temp = value numbers[i] = temp print('冒泡排序后列表:',numbers)
排序前列表 : [5, 7, 8, 9, 4, 2, 3, 1, 6, 10] 冒泡排序后列表: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
相关内容
- 暂无相关文章
评论关闭