Python训练营打卡 Task1
文章目录
Python 中列表和字典的使用和Java, JavaScript对比
1. 列表 list
1.1 列表(list)的定义
1.2 列表添加元素
1.2 删除列表的元素
1.3 修改列表元素
1.4 根据元素得到下标
2. 映射/字典dict
2.1 定义一个映射/字典
2.2 为字典添加元素
字典删除元素
字典修改元素
小结
Python很常用的数据类型就是list和dict,但是这些其实并不陌生,在很多语言都有类似的数据类型,比如Java和JavaScript,只是名称不一样。
Python 中列表和字典的使用和Java, JavaScript对比
1. 列表 list
list是python的一种内置数据类型,list表示列表,即把多个数据打包放到一起,这些数据可以是不同的类型。
Java中也有这样的数据类型,Java中是List接口,Java中常见的是ArrayList和LinkedList,ArrayList是用数组实现,而LinkedList是用链表实现的。
而JavaScript表示list就直接使用数组就行。
1.1 列表(list)的定义
# Python定义列表
li = []
1
2
// Java定义列表
ArrayList<> list = new ArrayList<>();
1
2
// JavaScript定义列表(数组)
var list = []
1
2
1.2 列表添加元素
# Python为列表添加元素,末尾添加使用append()方法,插入使用insert方法
li = []
li.append("Jackson") # 在list末尾追加一个元素
li.insert(1, "Roy") # 在list的某个特定节点添加一个元素
print(li) # ['Jackson', 'Roy']
1
2
3
4
5
// Java为列表添加元素,使用add方法
ArrayList<Object> list = new ArrayList<>();
list.add("Jackson");
list.add(1,"Roy");
System.out.println(list); // [Jackson, Roy]
1
2
3
4
5
// JavaScript为列表追加元素使用push方法
var list = [];
list.push("Jackson)");
list.push("Roy");
console.log(list); //["Jackson)", "Roy"]
1
2
3
4
5
1.2 删除列表的元素
# Python删除列表元素
li = ["Karry", "Roy", "Jackson"]
del li[0] # 删除下标为0的元素
li.remove("Jackson") # 删除列表中值为"Jackson"的元素
print(li) # ['Roy']
1
2
3
4
5
// Java列表删除元素
ArrayList<String> list = new ArrayList<>();
list.add("Karry");
list.add("Roy");
list.add("Jackson");
list.remove(0);
list.remove("Roy");
System.out.println(list); // [Jackson]
1
2
3
4
5
6
7
8
JavaScript删除列表元素:
JavaScript列表是用数组表示的,因此没有提供方法直接删除,只有自己移动数组元素来达到删除的目的。
不过JS提供了方法删除列表第一个和最后一个元素。
1.3 修改列表元素
Python和JavaScipt修改和查询列表元素都很简单,直接通过下标访问就行了。
# Python 修改数组元素
li = ["Karry", "Roy", "Jackson"]
li[0] = "Ka"
1
2
3
// JavaScript修改元素
var li = ["Karry", "Roy", "Jackson"];
li[0] = "Ka";
1
2
3
// Java修改ArrayList元素使用set方法即可
list.set(0, "Ka");
1
2
1.4 根据元素得到下标
# Python使用index方法
li = ["Karry", "Roy", "Jackson"]
i = li.index("Roy")
print(i) # 1
1
2
3
4
// Java使用indexOf方法
int index = list.indexOf("Roy"); // 1
1
2
// JS使用indexOf方法
var index = list.indexOf("Roy"); // 1
1
2
2. 映射/字典dict
Python中dict类型本质上是键值映射(key-value映射),多个key-value组成多个映射。
Java类似的有HashMap,JavaScript类似的是对象。
2.1 定义一个映射/字典
# Python定义一个空映射/字典
dic = {}
1
2
// Java定义一个空映射Map
HashMap<String, String> map = new HashMap<>();
1
2
// JavaScript 定义一个空映射
var map = {}
1
2
2.2 为字典添加元素
# Python为字典添加元素
dic = {}
dic['id'] = 100
dic['name'] = "Jackson"
dic['sex'] = "male"
print(dic) # {'id': 100, 'name': 'Jackson', 'sex': 'male'}
1
2
3
4
5
6
// JavaScript为映射添加元素
var map = {};
map['id'] = 100;
map['name'] = "Jackson";
map['sex'] = "male";
console.log(map);
1
2
3
4
5
6
// Java为map添加元素
HashMap<String, String> map = new HashMap<>();
map.put("id", "100");
map.put("name", "Jackson");
map.put("sex", "male");
System.out.println(map); // {sex=male, name=Jackson, id=100}
1
2
3
4
5
6
7
字典删除元素
# Python使用 del 函数 删除元素
dic = {'id': 100, 'name': 'Jackson', 'sex': 'male'}
del dic['id']
print(dic) # {'name': 'Jackson', 'sex': 'male'}
1
2
3
4
// JavaScript使用 delete函数 删除元素
var map = {'id': 100, 'name': 'Jackson', 'sex': 'male'};
delete(map['id']);
console.log(map) //{name: "Jackson", sex: "male"}
1
2
3
4
// Java使用remove方法删除map里面的元素
map.remove("id");
1
2
字典修改元素
Python和JavaScript修改元素,直接根据key来访问,然后重新赋值就行了,而Java使用put方法。
小结
任何编程语言的基本使用都很相似,都是互通的,关键是要抓住每个知识点的本质。
比如Python的列表(list) 本质就是一系列数据,或者就是不限定类型的数组,这在Java中就是ArrayList,在JS中就是普通数组。
Python中的字典(dict)本质就是映射的概念,在其他编程语言都有,比如Java就是HashMap,JS就是对象的概念。
Python想对于其他语言语法较为简洁,抽象程度也比较高,而不像C和Java的一些数据结构偏底层,Python有现成的方法可以直接调用,容易上手。
Python是一种动态语言,动态一时爽,重构火葬场。