一、系列缘由

  作为一名运维工程师,也一直有一个学习开发的想法,值此之际,不知道博客的下一期目标在哪里,在这思考和犹豫的间隙想着学习和充实一下自己,学习一下python语言,python随着大数据和人工智能的兴起而日益火爆。边学习边实践的原则学习python,希望自己更上一层楼。

二、学习笔记

  此笔记主要记录列表的学习笔记,学习内容为列表的各方法。列表的主要方法如下:

函数

含义

len(list)

列表元素个数

max(list)

返回列表元素最大值

min(list)

返回列表元素最小值

list(seq)

将元组转换为列表

方法

含义

list.append(obj)

在列表末尾添加新的对象

list.count(obj)

统计某个元素在列表中出现的次数

list.extend(seq)

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

list.index(obj)

从列表中找出某个值第一个匹配项的索引位置

list.insert(index, obj)

将对象插入列表

list.pop([index=-1])

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

list.remove(obj)

移除列表中某个值的第一个匹配项

list.reverse()

反向列表中元素

list.sort( key=None, reverse=False)

对原列表进行排序

list.clear()

清空列表

list.copy()

复制列表

三、实践练习

1、洗牌代码

(base) [root@s186 python]# cat xp.py 
#!/root/anaconda3/bin/python
# This is a python program.
'''
这是一断扑克洗牌代码,默认新牌是按照花色和顺序排列
经过洗牌后顺序被打乱,执行可见效果。
'''
import random
#初始顺序
poke = ["红桃A","红桃2","红桃3","红桃4","红桃5","红桃6","红桃7","红桃8","红桃9","红桃10","红桃J","红桃Q","红桃K","黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K","方块A","方块2","方块3","方块4","方块5","方块6","方块7","方块8","方块9","方块10","方块J","方块Q","方块K","梅花A","梅花2","梅花3","梅花4","梅花5","梅花6","梅花7","梅花8","梅花9","梅花10","梅花J","梅花Q","梅花K","大王","小王"]
print("\n洗牌前的扑克牌顺序:\n",poke)
#洗牌1遍
for i in range(len(poke)):
        poke.append(poke.pop(random.randint(0,len(poke)-1)))
print("\n洗牌一遍的扑克牌顺序:\n",poke)
#洗牌2遍
for i in range(len(poke)*2):
        poke.append(poke.pop(random.randint(0,len(poke)-1)))
print("\n洗牌俩遍的扑克牌顺序:\n",poke)
#顺牌
poke.sort()
print("\n顺牌后的扑克牌顺序:\n",poke)

2、设计说明

  • 定义一个54张牌的列表
  • 使用len函数获取列表长度,此参数作为洗牌次数,一次抽插一张牌
  • 使用pop方法弹出抽中的牌
  • 使用append方法将抽中的牌放置到最后
  • 使用sort函数排序列表达到顺牌效果

3、执行测试

python多人麻将_python多人麻将