Python 学习之 --- 语法部分(列表、元组、字典、集合)

16 篇文章 0 订阅
13 篇文章 0 订阅


一、列表(List)

1. 概述

  • 序列是 Python 中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是 0,第二个索引是 1,依此类推。
  • Python 有 6 个序列的内置类型,但最常见的是列表和元组。
  • 序列都可以进行的操作包括索引,切片,加,乘,检查成员。
  • 此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。
  • 列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。
  • 列表的数据项不需要具有相同的类型。

2. 列表操作

2.1 列表示例与查看

# 与字符串的索引一样,列表索引从 0 开始。列表可以进行截取、组合等。
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
# 使用下标索引来访问列表中的值,同样也可以使用方括号的形式截取字符
print("list1[0]: ", list1[0])
print("list2[1:5]: ", list2[1:5])
print("list3[1:2]:", list3[1:2])
list2.reverse()
print(list2)

## 结果
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
list3[1:2]: ['b']
[5, 4, 3, 2, 1]

2.2 列表元素的增加

使用 append() 方法来添加列表项。

list = []          		# 空列表
list.append('Google')   # 使用 append() 添加元素
list.append('Runoob')
print(list)

## 结果
['Google', 'Runoob']

注意:append() 方法一次只能添加一个元素。

使用 extend() 方法添加列表项。(用新列表扩展原来的列表)

list1 = [1,2,3]
list2 = ['a','b','c']
list1.extend(list2)
print(list1)

## 结果
[1, 2, 3, 'a', 'b', 'c']

insert() 函数用于将指定对象插入列表的指定位置。

list1 = ['abc','def','ghi','123','456']
list1.insert(2,'haha')
print(list1)

## 结果
['abc', 'def', 'haha', 'ghi', '123', '456']

2.3 列表元素的删除

可以使用 del 语句来删除列表的元素。

list1 = [1,2,3]
print(list1)
del list1[2]
print(list1)

## 结果
[1, 2, 3]
[1, 2]

remove() 函数用于移除列表中某个值的第一个匹配项。

list1 = ['abc','def','ghi','123','456']
list1.remove('abc')
print(list1)
list1.remove('123')
print(list1)

## 结果
['def', 'ghi', '123', '456']
['def', 'ghi', '456']

2.4 列表元素的截取

list = ['abc','def','ghi','123','456']
print(list[0])	# 第一个元素
print(list[2])	# 第三个元素
print(list[0:2])	# 第一个和第三个元素
print(list[1:])		# 从第二个元素开始到最后
print(list[:-1])	# 倒数第二个元素及之前元素
print(list[1:3:1])	# 第二个到第三个元素,间隔为 1

## 结果
abc
ghi
['abc', 'def']
['def', 'ghi', '123', '456']
['abc', 'def', 'ghi', '123']
['def', 'ghi']

3. 列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

Python 表达式结果描述
len([1, 2, 3])3长度
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]重复
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print x,1 2 3迭代

4. 列表函数

序号函数
1cmp(list1, list2) 比较两个列表的元素
2len(list) 列表元素个数
3max(list) 返回列表元素最大值
4min(list) 返回列表元素最小值
5list(seq) 将元组转换为列表

5. 列表方法

序号方法
1list.append(obj) 在列表末尾添加新的对象
2list.count(obj) 统计某个元素在列表中出现的次数
3list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj) 将对象插入列表
6[list.pop(index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj) 移除列表中某个值的第一个匹配项
8list.reverse() 反向列表中元素
9list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序

二、元组(Tuple)

1. 概述

  • Python 的元组与列表类似,不同之处在于元组的元素不能修改。
  • 元组使用小括号,列表使用方括号。
  • 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

2. 元组操作

2.1 元组示例与查看

tup1 = (1,2,3,4,5)
tup2 = ("a","b","c","d","e")
print(tup1)
print(tup2)
print(tup1[1])
print(tup2[1:4])

## 结果
(1, 2, 3, 4, 5)
('a', 'b', 'c', 'd', 'e')
2
('b', 'c', 'd')

元组中只包含一个元素时,需要在元素后面添加逗号。
元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。
任意无符号的对象,以逗号隔开,默认为元组。

2.2 元组的链接

tup1 = (1,2,3,4,5)
tup2 = ("a","b","c","d","e")
tup3 = tup1 + tup2
print(tup3)

## 结果
(1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e')

2.3 元组的截取

tup1 = (1,2,3,4,5)
tup2 = ("a","b","c","d","e")
print(tup1[0])
print(tup2[2:4])

## 结果
1
('c', 'd')

2.4 元组的删除

tup1 = (1,2,3,4,5)
tup2 = ("a","b","c","d","e")
del tup1
print(tup1)

## 结果
报错:NameError: name 'tup1' is not defined

3. 元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
(‘Hi!’,) * 4(‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print x,1 2 3迭代

4. 元组内置函数

序号方法及描述
1cmp(tuple1, tuple2) 比较两个元组元素。
2len(tuple) 计算元组元素个数。
3max(tuple) 返回元组中元素最大值。
4min(tuple) 返回元组中元素最小值。
5tuple(seq) 将列表转换为元组。

三、字典(Dictionary)

1. 概述

  • 字典是另一种可变容器模型,且可存储任意类型对象。
  • 字典的每个键和值之间用冒号 : 分割(key:value),每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
    d = {key1 : value1, key2 : value2 }
  • dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。
  • 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
  • http://c.biancheng.net/view/2212.html

2. 字典操作

2.1 字典示例与查看

bkdic0 = {"id":1, "name":"曹雪芹", "author":"红楼梦", "price":50}
bkdic1 = {"id":2, "name":"吴承恩", "author":"西游记", "price":60}
bkdic2 = {"id":3, "name":"施耐庵", "author":"水浒传", "price":70}
bkdic3 = {"id":2, "name":"罗贯中", "author":"三国演义", "price":80}

set = (bkdic0,bkdic1,bkdic2,bkdic3)
print(set)
print(bkdic0["name"])	# 通过 key 访问 value

## 结果
({'id': 1, 'name': '曹雪芹', 'author': '红楼梦', 'price': 50}, {'id': 2, 'name': '吴承恩', 'author': '西游记', 'price': 60}, {'id': 3, 'name': '施耐庵', 'author': '水浒传', 'price': 70}, {'id': 2, 'name': '罗贯中', 'author': '三国演义', 'price': 80})
曹雪芹

2.2 字典元素的增加

向字典添加新内容的方法是增加新的键/值对,只需为不存在的 key 赋值即可。

bkdic0 = {"id":1, "name":"曹雪芹", "author":"红楼梦", "price":50}
print(bkdic0)
bkdic0["kucun"] = 10	# kucun 这个键并不存在,对它进行赋值,就等于增加了键值对
print(bkdic0)

### 结果
{'id': 1, 'name': '曹雪芹', 'author': '红楼梦', 'price': 50}
{'id': 1, 'name': '曹雪芹', 'author': '红楼梦', 'price': 50, 'kucun': 10}

2.3 字典元素的删除

删除指定元素

bkdic0 = {"id":1, "name":"曹雪芹", "author":"红楼梦", "price":50}
del bkdic0['name']
print(bkdic0)

## 结果
{'id': 1, 'author': '红楼梦', 'price': 50}

清空列表

bkdic = {"id":1, "name":"曹雪芹", "author":"红楼梦", "price":50}
bkdic.clear()
print(bkdic)

## 结果
{}

3. 字典内置函数

序号函数及描述
1cmp(dict1, dict2) 比较两个字典元素。
2len(dict) 计算字典元素个数,即键的总数。
3str(dict) 输出字典可打印的字符串表示。
4type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

4. 字典内置方法

序号函数及描述
1dict.clear() 删除字典内所有元素
2dict.copy() 返回一个字典的浅复制
3[dict.fromkeys(seq, val]) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
4dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
5dict.has_key(key) 如果键在字典dict里返回true,否则返回false
6dict.items() 以列表返回可遍历的(键, 值) 元组数组
7dict.keys() 以列表返回一个字典所有的键
8dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2) 把字典dict2的键/值对更新到dict里
10dict.values() 以列表返回字典中的所有值
11[pop(key,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12popitem() 返回并删除字典中的最后一对键和值。

四、集合

1. 概述

  • 集合(set)是一个无序不重复元素的序列。
  • 可以使用大括号 { } 或者 set() 函数创建集合。注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

2. 集合操作

2.1 创建集合

# 创建空集合
set1 = set()
print(set1)

# 创建一个具有数据的集合
set2 = {1, 'a', 'apple', 11.22}
print(set2)

# 用其他集合赋值
set3 = set([1, 2, 3])
print(set3)

### 结果
set()
{11.22, 1, 'a', 'apple'}
{1, 2, 3}

2.2 判断元素是否在集合内

set = {1, 'a', 'apple', 11.22}
print('a' in set)
print('a' not in set)

### 结果
True
False

2.3 集合添加元素

set = {1, 'a', 'apple', 11.22}
set.add('car')
print(set)
set.update({2,3})
print(set)
set.update([1,4],[5,6])
print(set)

### 结果
{1, 'apple', 11.22, 'a', 'car'}
{1, 2, 3, 'apple', 11.22, 'a', 'car'}
{1, 2, 3, 4, 5, 'apple', 6, 11.22, 'a', 'car'}

2.4 集合删除元素

set = {1, 'a', 'apple', 11.22}
set.remove('a')             #这种方式删除不存在的元素会报错
print(set)
set.discard(1)
print(set)
set.discard('assddsadas')   #这种方式删除不存在的元素不会报错
print(set)

### 结果
{1, 11.22, 'apple'}
{11.22, 'apple'}
{11.22, 'apple'}

2.5 计算集合元素个数

set = {1, 'a', 'apple', 11.22}
print(len(set))

### 结果
4

2.6 清空集合

set = {1, 'a', 'apple', 11.22}
set.clear()
print(set)

### 集合
set()

https://blog.csdn.net/gcxzflgl/article/details/83446331
https://www.cnblogs.com/lyxcode/p/11698495.html
https://www.cnblogs.com/maruobo/p/9669463.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值