python打卡学习之基础练习4

这篇博客探讨了Python中的列表数据类型,包括如何使用range创建列表、列表推导式、混合列表以及空列表的创建。还详细介绍了如何向列表添加元素、删除元素、获取元素以及列表的拷贝、反向排序和常用字符操作。博主通过实例讲解了如何在Python中有效地操作和使用列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表的数据类型

整形,布尔型,浮点型

容器的数据类型

列表,元组,集合,字符串,字典

列表的形状

a = [1,2,3,4,5,6]
print(a,type(a))
# [1, 2, 3, 4, 5, 6]      <class 'list'>

用range创造列表

x =list(range(10))
# [1,3,5, 7, 9] <class 'list'>
x =list(range(1,11,2))
	print(x)
# [1, 3, 5, 7, 9]
x =list(range(10,1,-2)
print(x)
# [10, 8, 6, 4, 2]

用推导式创造列表

x =[ i for i in range(5)]
print(x)
# [0, 1, 2, 3, 4]
x =[i for i in range(1,10,2)]
print(x)
# [1, 3, 5, 7, 9]
x =[i for i in range(100) if i % 2!=0 or i%3 ==0]
print(x)
# [0, 1, 3, 5, 6, 7, 9, 11, 12, 13, 15, 17, 18, 19, 21, 23, 24, 25, 27, 29, 30, 31, 33, 35, 36, 37, 39, 41, 42, 43, 45, 47, 48, 49, 51, 53, 54, 55, 57, 59, 60, 61, 63, 65, 66, 67, 69, 71, 72, 73, 75, 77, 78, 79, 81, 83, 84, 85, 87, 89, 90, 91, 93, 95, 96, 97, 99]
x =[[0] * 4 for row in range(3)]
print(x)
x =[[0] * 4 for row in range(3)]
x[1][1] =1
print(x)
# [[0, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 0]]

混合列表

mix =[1,'logo',3.14,[1,2,3]]
print(mix)
# [1, 'logo', 3.14, [1, 2, 3]]

empty 列表

empty = []
print(empty)

用列表添加元素

a =['a','b','c','d']
a.append('e')
print(a)
# ['a', 'b', 'c', 'd', 'e']

# 用extend添加元素
date =['Monday','Tuesday','Wednesday','Thursday','Friday']
date.extend(['Satuday','Sunday'])
print(date)
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Satuday', 'Sunday']
# 在指定位置插入元素
x =["Monday",'Tuesday','Wedensday',"Friday"]
x.insert(3,"Thursday")
print(x)
# ['Monday', 'Tuesday', 'Wedensday', 'Thursday', 'Friday']

删除元素

a =['Monday',"Tuesday",'Wedensday','Friday']
a.pop()
# a.pop([index-1]):
print(a)
# ['Monday', 'Tuesday', 'Wedensday']
a.remove("Monday")
print(a)
# ['Tuesday', 'Wedensday']
a =['Monday',"Tuesday",'Wedensday','Friday']
del a[:]
print(a)
# []

获取列表中的元素

date =['Monday','Tuesday','Wednesday','Thursday','Friday']

a=date[:] # 
print(a)
b= date[1:2] # 
print(b)
c =date[-3:-1]
print(c)
d =date[1:4:2]
print(d)

# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
# ['Tuesday']
# ['Wednesday', 'Thursday']
# ['Tuesday', 'Thursday']

拷贝

list1 =['Monday','Tuesday','Wensday','Thurday','Friday']
list2 =list1[:]
print(list2)
# ['Monday', 'Tuesday', 'Wensday', 'Thurday', 'Friday']

对于拷贝的操作,“” = “” 默认的是同一指针地址的赋值,对其中变量进行操作,另一个变量也会跟着变化

反向排序

x=[123,456,788]
x.reverse()
print(x)
# [788, 456, 123]

常见字符操作

==, not in ,in ,+ ,X
x.reverse()
x.index()

列表练习

lst=[2,5,6,7,8,9,2, 9, 9]
请写程序完成下列操作:
1.在列表的末尾增加元素15
2.在列表的中间位置插入元素20
3.将列表[2, 5, 6]合并到lst中
4.移除列表中索引为3的元素
5.翻转列表里的所有元素
6.对列表里的元素进行排序,从小到大-次,从大到小- -

lst.append(15)
lst.insert(len(lst)//2,15)
list =lst[0:2]
print(list)
lst.pop(3)
lst.reverse()
lst.sort()
lst.sort(reverse=True)
2、修改列表
问题描述:
lst= [1, [4, 6], True]
请将列表里所有数字修改成原来的两倍
lst[0] =lst[0] *2
lst[1][0] = lst[1][0]*2
lst[1][1] = lst[1][1]*2
lst[2] = lst[2] * 2

3、leetcode 852题 山脉数组的峰顶索引
如果一个数组k符合下面两个属性,则称之为山脉数组

数组的长度大于等于3

存在ii,ii >0 且i<len(k)−1i<len(k)−1, 使得
k[0]<k[1]<…<k[i−1]<k[j]>k[i+1]…>k[len(k)−1]
k[0]<k[1]<…<k[i−1]<k[j]>k[i+1]…>k[len(k)−1]

这个ii就是顶峰索引。

现在,给定一个山脉数组,求顶峰索引。

示例:

输入:[1, 3, 4, 5, 3]

输出:True

输入:[1, 2, 4, 6, 4, 5]

输出:False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值