05列表.

本文详细介绍了Python列表的相关操作,包括获取单个和部分元素的切片语法、遍历列表的三种方法以及列表的增、删、改操作。还提供了一些实战示例,如查找列表中心元素、计算元素和、提取奇数下标元素等。
摘要由CSDN通过智能技术生成

列表

1.获取单个元素

语法:列表[下标】 - 获取指定列表中指定下标对应的元素
说明:
1)可以是具体某个列表,也可以是保存列表的变量
2) [] - 固定写法
3)下标 - 整数,下标又叫索引,是元素在有序序列中的位置信息
python中元素对应的下标有两种:1.从前往后从0开始不断增加 2. 从后往前从-1开始不断减少
games = ['英雄联盟', '王者荣耀', '开心消消乐', '炉石传说', '部落冲突', '原神', '绝地求生']
print(games[1])
print(games[-6], games[1])
print(games[-1])
# 注:下标不能越界
# print(games[100])  # IndexError: list index out of range

2.获取部分元素 - 切片

1).完整语法:
列表[开始下标:结束下标:步长]
2)切片过程:
第一步:确定结果是否为空:看步长对应的方向和开始下标到结束下标对应的方向是否一致,如果不一致,切片结果一定为空
第二步:确定有效范围:从开始下标对应的元素,到结束下标对应的元素就是有效范围:有效范围内结束下标对应的元素取不到[开始下标,结束下标)
第三步:获取元素:步长的正负确定获取方向;步长绝对值确定获取的时候是否跳着取;
如果绝对值为1,表示一个一个的取;绝对值为2,表示取一个跳一个;绝对值为3,表示取一个跳2个
3)写切片表达式获取指定结果
第一步:确定开始下标:看结果中第一个元素在原列表中的下标
第二步:确定步长:看获取的元素来确定正负;看取值的时候跳过的情况确定绝对值
第三步:确定结束下标:[开始下标,结束下标]对应的范围能够包含所有的已经获取的元素
games = ['英雄联盟', '王者荣耀', '开心消消乐', '炉石传说', '部落冲突', '原神', '绝地求生']
print(games[1:-1:2])  # ['王者荣耀', '炉石传说', '原神']
print(games[1:-2:-2])  # []
print(games[4:0:1])  # []
print(games[2:-2:1])  # ['开心消消乐', '炉石传说', '部落冲突']
print(games[6:-6:-2])  # ['绝地求生', '部落冲突', '开心消消乐']

# 练习:
print(games[1:-1: 3])  # ['王者荣耀', '部落冲突']
print(games[2:6:-2])  # []
print(games[0:5:4])  # ['英雄联盟', '部落冲突']
print(games[6:-4:-1])  # ['绝地求生', '原神', '部落冲突']

# ['王者荣耀','开心消消乐‘,'炉石传说']
print(games[1:4:1])
# ['开心消消乐‘,'部落冲突']
print(games[2:6:2])
# ['原神','部落冲突','炉石传说',]
print(games[-2:2:-1])

# 练习:
games 
如果你的新建列表的多边形数据是以字符串的形式表示,类似于`[<POLYGON ((3.46e+05 3.45e+06, 3.46e+05 3.45e+06, 3.46e+05 3.45e+06, 3.46e+05...)>, <POLYGON ((3.45e+05 3.45e+06, 3.45e+05 3.45e+06, 3.45e+05 3.45e+06, 3.45e+05...)>]`,你可以使用GeoPandas库的`WKTReader`来将这些字符串转换为几何数据。下面是一个示例代码: ```python import geopandas as gpd from shapely.wkt import loads # 创建新的多边形数据列表 polygon_strings = [ 'POLYGON ((3.46e+05 3.45e+06, 3.46e+05 3.45e+06, 3.46e+05 3.45e+06, 3.46e+05...)', 'POLYGON ((3.45e+05 3.45e+06, 3.45e+05 3.45e+06, 3.45e+05 3.45e+06, 3.45e+05...)' ] # 将字符串转换为几何数据 polygons = [loads(polygon_string) for polygon_string in polygon_strings] # 创建新的GeoDataFrame new_data = {'geometry': polygons} new_gdf = gpd.GeoDataFrame(new_data) # 读取原始的GeoJSON数据 file = gpd.read_file('original.geojson') # 将新建的多边形数据与原始数据合并 merged_gdf = gpd.GeoDataFrame(pd.concat([file, new_gdf], ignore_index=True)) # 将更新后的数据保存到新的GeoJSON文件 merged_gdf.to_file('updated.geojson', driver='GeoJSON') ``` 在上面的示例代码,我们首先创建了一个包含多边形字符串的列表(`polygon_strings`),你可以根据实际情况修改这些字符串。然后,我们使用`loads()`函数将字符串转换为几何数据,并将其存储在`polygons`列表。 接下来,我们使用`gpd.GeoDataFrame()`创建一个新的GeoDataFrame(`new_gdf`),其`geometry`列存储了多边形数据。 然后,我们使用`gpd.read_file()`函数读取原始的GeoJSON数据,将其存储在`file`变量。 最后,我们使用`pd.concat()`函数将新建的GeoDataFrame与原始的GeoDataFrame合并,并将结果存储在`merged_gdf`。最后,我们将更新后的数据保存到一个新的GeoJSON文件(在示例为`updated.geojson`)。 请确保你已经安装了GeoPandas库,并根据实际需求修改示例代码的多边形字符串和文件路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值