Python

Python轻松入门 - 3 三大基础数据机构

2019-05-14  本文已影响0人  V哥带你写程序

实战中程序要处理的数据都是一批一批的。可能从数据库读取,也可能从文件或者网络接口读取。但在处理前程序先要Hold住这些数据。这个时候就需要用到3个基本数据结构。程序员要熟练使用他们的常用方法(读取元素、遍历、添加、删除等)。
1.list
2.dictionary(map)
3.set

1 - List

python创建list很简单,把list的元素放在中括号中就可以了,用逗号隔开

odd_numbers = [1, 3, 5, 7, 9]

常用方法

** 读list中的某个元素 **

odd_numbers[0]   // 1
odd_numbers[-1]  // 倒数第一个是9

** 遍历list中的每一个元素 **

for oddNumber in odd_numbers:
    print(oddNumber)

** 取子集 - slice **
list[start:stop:step]

odd_numbers[0, 3]  //1, 3, 5

** 判断元素是否在list中 **

if 1 in odd_numbers:
    print("1是奇数")
else:
    print("1部署奇数")

if 2 not in odd_numbers:
    print("2不是奇数")

** list中元素的个数 **

odd_len = len(odd_numbers)

** 往list中添加元素 **

odd_numbers.append(11)
odd_numbers.extend([13, 15, 19])
odd_numbers.insert(8, 17)

** 从list中删除元素 **

odd_numbers.remove(7) 
odd_numbers.pop()

2 - Dictionary

list不是万能的,当我们需要存储键值对类型数据的时候需要用到Dictionary, Java中叫Map

常用方法

** 创建 **
花括号,键值对用逗号隔开,键和值用冒号隔开

person = {'name': 'John', 'gender': 'Male', 'Age': 36, 'company': '996'}

** 读某个键的值 **
person['name']
** 遍历所有的key **

for k in person:
    print(k) 

** 遍历键值对 **

for k, v in person.items():
    print(k, '->', v)

** 添加键值对 **

person['发量'] = '稀少'

** 更新值 **

person['发量'] = '中等'

** 元素是否存在 **
if 'salary' not in person:
print("薪资信息保密,取不到")

** 设定默认值 **
person.setdefault('salary', 40000) //凭良心猜

3 - Set

Set和List相比最大的不同时元素不能重复
mvps2018 = {'Jack Lu', 'Jack You', 'Timothy', 'Vivian'}
** 合并Set, 并消除重复 **
mvps2019 = {'Tony', 'Jack You'}
mvpsAll = mvps2018.union(mvps2019) ** 两个Set之间不同的部分 ** mvpsDiff = mvps2018.difference(mvps2019) ** 两个Set之间重合的部分 ** mvpsIntersect = mvps2018.intersection(mvps2019) ```

4 - 最后再送一个 Tuples

就是List, 但是创建好之后,这个list就不允许修改. 改就报错
mvpsFinal = ('Jack Lu', 'Oliver')

小结

以上就是基本数据结构,不算复杂,但是可以组合起来搞复杂。例如在Dictionary的值也是Dictionary, List的元素也是List之类的。

上一篇下一篇

猜你喜欢

热点阅读