计算经济地理是指应用计算机科学和技术,结合经济地理学理论和方法,运用数字化、模拟和统计等技术手段对空间经济系统进行分析和建模的研究领域,包括:构建空间经济模型、空间数据分析、利用各种编程语言和软件进行数据处理和可视化、制定空间规划、开展政策模拟等。计算经济地理学将经济地理学和计算机科学相结合,为经济地理学研究提供了新的工具和方法,使研究者能够更加深入地探索和理解现实世界中的区域经济问题。我们致力基于Python探索计算经济地理理论、方法和应用。
在 Python中,最基本的数据结构是序列(Sequence)。它可以存储多个值,并按照一定的顺序排列。Python中有三种常用的序列类型:列表,元组和字符串。下面我将介绍这三种类型的特点,用法和相互转换的方法。
一、序列
列表(list)是一种可变的序列,也就是说,我们可以在列表中添加,删除或修改元素。列表用方括号[]
表示,元素之间用逗号,
分隔。例如,我们可以创建一个包含四个城市名称的列表:
cities = ["北京", "上海", "广州", "深圳"]
可以用len()
函数获取列表的长度,也就是元素的个数:
len(cities) # 输出 4
可以用索引(index)来访问列表中的某个元素,索引从0开始,表示第一个元素,到-1结束,表示最后一个元素。例如,我们可以获取列表中的第二个和最后一个元素:
cities[1] # 输出 "上海"
cities[-1] # 输出 "深圳"
也可以用切片(slice)来获取列表中的一部分元素,切片用冒号:
分隔起始和结束的索引,表示从起始索引(包含)到结束索引(不包含)的子列表。例如,我们可以获取列表中的前两个和后两个元素:
cities[:2] # 输出 ["北京", "上海"]
cities[-2:] # 输出 ["广州", "深圳"]
可以用+
运算符来连接两个列表,得到一个新的列表。例如,我们可以创建一个包含四个国家名称的列表,然后和城市列表连接:
countries = ["中国", "日本", "韩国", "美国"]
cities + countries # 输出 ["北京", "上海", "广州", "深圳", "中国", "日本", "韩国", "美国"]
可以用*
运算符来重复一个列表,得到一个新的列表。例如,我们可以重复城市列表两次:
cities * 2 # 输出 ["北京", "上海", "广州", "深圳", "北京", "上海", "广州", "深圳"]
可以用in
运算符来检查一个元素是否在列表中,返回一个布尔值(True或False)。例如,我们可以检查"杭州"是否在城市列表中:
"杭州" in cities # 输出 False
可以用append()
方法来在列表的末尾添加一个元素。例如,我们可以在城市列表中添加"杭州":
cities.append("杭州")
cities # 输出 ["北京", "上海", "广州", "深圳", "杭州"]
可以用insert()
方法来在列表的指定位置插入一个元素。例如,我们可以在城市列表的第二个位置插入"南京":
cities.insert(1, "南京")
cities # 输出 ["北京", "南京", "上海", "广州", "深圳", "杭州"]
可以用remove()
方法来删除列表中的指定元素。例如,我们可以删除城市列表中的"深圳":
cities.remove("深圳")
cities # 输出 ["北京", "南京", "上海", "广州", "杭州"]
可以用pop()
方法来删除并返回列表中的最后一个元素。例如,我们可以删除并获取城市列表中的最后一个元素:
cities.pop() # 输出 "杭州"
cities # 输出 ["北京", "南京", "上海", "广州"]
可以用sort()
方法来对列表中的元素进行排序。例如,我们可以对城市列表按照字母顺序进行排序:
cities.sort()
cities # 输出 ["上海", "北京", "南京", "广州"]
二、元组
元组(tuple)是一种不可变的序列,也就是说,我们不能在元组中添加,删除或修改元素。元组用圆括号()
表示,元素之间用逗号,
分隔。例如,我们可以创建一个包含四个数字的元组:
numbers = (1, 2, 3, 4)
可以用和列表相同的方式来获取元组的长度,访问元组中的元素,切片元组,连接元组,重复元组,检查元素是否在元组中。例如,我们可以获取元组中的第一个和最后一个元素,以及连接两个元组:
numbers[0] # 输出 1
numbers[-1] # 输出 4
numbers + numbers # 输出 (1, 2, 3, 4, 1, 2, 3, 4)
但是,我们不能用和列表相同的方式来修改元组中的元素,添加或删除元素,或者对元组进行排序。例如,如果我们尝试修改元组中的第一个元素,会报错:
numbers[0] = 5 # 报错 TypeError: 'tuple' object does not support item assignment
三、字符串
字符串(string)是一种不可变的序列,它可以存储多个字符。字符串用单引号''
或双引号""
表示,字符之间没有分隔符。例如,我们可以创建一个包含四个字母的字符串:
letters = "abcd"
可以用和列表相同的方式来获取字符串的长度,访问字符串中的字符,切片字符串,连接字符串,重复字符串,检查字符是否在字符串中。例如,我们可以获取字符串中的第一个和最后一个字符,以及重复字符串三次:
letters[0] # 输出 "a"
letters[-1] # 输出 "d"
letters * 3 # 输出 "abcdabcdabcd"
但是,我们不能用和列表相同的方式来修改字符串中的字符,添加或删除字符,或者对字符串进行排序。例如,如果我们尝试修改字符串中的第一个字符,会报错:
letters[0] = "e" # 报错 TypeError: 'str' object does not support item assignment
四、元组和字符串相互转换
可以用list()
函数来将一个元组或字符串转换为列表,得到一个新的列表。例如,我们可以将数字元组和字母字符串转换为列表:
list(numbers) # 输出 [1, 2, 3, 4]
list(letters) # 输出 ["a", "b", "c", "d"]
可以用tuple()
函数来将一个列表或字符串转换为元组,得到一个新的元组。例如,我们可以将城市列表和字母字符串转换为元组:
tuple(cities) # 输出 ("上海", "北京", "南京", "广州")
tuple(letters) # 输出 ("a", "b", "c", "d")
可以用str()
函数来将一个列表或元组转换为字符串,得到一个新的字符串。例如,我们可以将数字列表和数字元组转换为字符串:
str([1, 2, 3, 4]) # 输出 "[1, 2, 3, 4]"
str((1, 2, 3, 4)) # 输出 "(1, 2, 3, 4)"
注意,这里的转换是将整个列表或元组作为一个字符串,而不是将其中的元素连接成一个字符串。如果我们想要将列表或元组中的元素连接成一个字符串,我们可以用join()
方法,它接受一个序列作为参数,返回一个由序列中的元素用调用字符串分隔的新字符串。例如,我们可以用逗号,
连接城市列表中的元素,得到一个新的字符串:
",".join(cities) # 输出 "上海,北京,南京,广州"
近期文章
更多内容请翻看历史记录
如果觉得有用就“关注、分享、收藏、在看、点赞 ”吧
本文使用 文章同步助手 同步
网友评论