列表、元组、字符串、集合、字典总结
这周学习了列表、元组、字符串、集合、字典,五种容器类型,下面对五种容器类型做一个简单的总结,使人更好的去认识他们。
在python中的表现形式
列表(list)----------->[元素,元素,元素 ]
元组(tuple)-------->(元素,元素,元素)
字符串(str)----------> ‘字符数据’
集合(set)---------->{元素,元素,元素,元素}
字典(dict)---------->{键:值,键:值}
举例:
# 列表
list1 = [] # 表示空列表
list2 = [1, 2, 3, 4] # 定义列表用[],里面的元素可以是任何类型的数据
# 元组
tuple1 = ('apple', 'banana', 'grape') # 定义元组用()
tuple2 = (100,) # 一元组要加逗号
tuple3 = () # 空元组
print(tuple3, type(tuple3))
# 字符串
str1 = 'hello, world' # 定义字符串,需要用 ' ', " ",或者是 """ """ 将单个字符或多个字符括起来
# 集合
set1 = {
1, 2, 3, 4} # 定义集合用{}
set2 = set() # 创建空集合
# 字典
student1 = {
# 由键和值组成,键和值用 :隔开
'id': 1010,
'name': '小明',
'sex': 'True',
'birthday': '2000-1-1'
}
可变性
1:列表
、字典
是可变的,支持增,删,查,改的操作
其中列表
支持下标运算.字典
通过键找到与之对应的值并进行操作。
集合
中的元素是可变的,只支持增,删,查,并且它是无序的不能通过下标来查找元素
2:元组
、字符串
中的元素是不可变的,只支持查的操作。其中元组
、字符串
可以通过切片索引的方式查找元素。
列表 | 字符串 | 元组 | 集合 | 字典 |
---|---|---|---|---|
可变 | 不可变 | 不可变 | 可变,但是不能修改元素 | 字典是可变的,字典中的键必须是不可变 |
有序 | 有序 | 有序 | 无序,其中所有的元素都是不重复的 | 无序,通过键,或者值来进行查找 |
经常使用的一些方法
排序
经常使用于列表
中,字典
中也会用到。其中列表
可用sort
、sorted
,而字典
只支持sorted
list1 = ['1', '2', '3', '4']
list1.sort(key=int, reverse=True) # reverse=True由高到低排序,指定排序按照int类型来排
print(list1)
stocks = {
'AAPL': 191.88,
'GOOG': 1186.96,
'IBM': 149.24,
'ORCL': 48.44,
'ACN': 166.89,
'FB': 208.09,
'SYMC': 21.29
}
x = sorted(stocks, key=stocks.get, reverse=True) # 通过字典的键的值来从大到小排序,最后输出的是字典的键
print(x)
如果不指定key
,字典
默认对字典
的键进行排序.不指定reverse
,默认排序为从小到大。
随机抽取和乱序,,求最大值与最小值
random.sample()
对列表进行无放回抽样
random.choices()
对列表进行有放回抽样
choice
函数可以从列表中选择一个元素
shuffle
函数打乱顺序
max()
求最大值
min()
求最小值
count()
统计出现的次数
例子
用一个列表保存52张扑克牌,洗牌,按斗地主的发牌方式把牌发给三个玩家,多的3张牌给第一个玩家(地主),把每个玩家手上的牌显示出来
import random
kinds1 = ['♠', '♣', '♥',