电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python 如何快速復制序列

瀏覽:5日期:2022-07-12 09:30:11

1 基本用法

把序列乘以一個整數,就會產生一個新序列。這個新序列是原始序列復制了整數份,然后再拼接起來的結果。

l=[1,2,3]l2=l * 3logging.info(’l2 -> %s’,l2)l3=5 * ’deniro’logging.info(’l3 -> %s’,l3)

運行結果:

INFO - l2 -> [1, 2, 3, 1, 2, 3, 1, 2, 3]INFO - l3 -> denirodenirodenirodenirodeniro

* 復制語法不會修改原有的操作對象,而是構建出一個全新的序列。

2 列表陷阱

a * n 語法中,a 為列表,n 為需要復制的列表數。如果 a 列表中的元素是基本類型的話,沒什么問題。但如果 a 列表中的元素是對象的引用的話,那么這些復制出來的列表中的引用其實指向的是同一個引用。

Luciano Ramalho 舉了一個井字棋示例。

井字棋,英文名叫Tic-Tac-Toe,是一種在3*3格子上進行的連珠游戲,和五子棋類似,由于棋盤一般不畫邊框,格線排成井字故得名。游戲需要的工具僅為紙和筆,然后由分別代表O和X的兩個游戲者輪流在格子里留下標記(一般來說先手者為X),任意三個標記形成一條直線,則為獲勝。

python 如何快速復制序列

(1)錯誤示例 1

weird_board = [[’_’] * 3] * 3logging.info(’weird_board -> %s’, weird_board)weird_board[1][2] = ’X’logging.info(’weird_board -> %s’, weird_board)

運行結果:INFO - weird_board -> [[’_’, ’_’, ’_’], [’_’, ’_’, ’_’], [’_’, ’_’, ’_’]]INFO - weird_board -> [[’_’, ’_’, ’X’], [’_’, ’_’, ’X’], [’_’, ’_’, ’X’]]

可以看到雖然代碼中只修改了 [1][2] 位置的值,但卻影響到了三處地方。這就說明這三處其實指向的是同一個引用。

(2)錯誤示例 2

這個示例犯的錯與前一個示例相同,都是把同一個對象追加到同一塊游戲板中(board)。

row = [’_’] * 3board = []for i in range(3): board.append(row)logging.info(’board -> %s’, board)board[1][2] = ’X’logging.info(’board -> %s’, board)

運行結果:

INFO - board -> [[’_’, ’_’, ’_’], [’_’, ’_’, ’_’], [’_’, ’_’, ’_’]]INFO - board -> [[’_’, ’_’, ’X’], [’_’, ’_’, ’X’], [’_’, ’_’, ’X’]]

(3)正確示例

對示例 2 進行改造,就可以避免上述問題。

board = []for i in range(3): row = [’_’] * 3 board.append(row)logging.info(’board -> %s’, board)board[1][2] = ’X’logging.info(’board -> %s’, board)

運行結果:

INFO - board -> [[’_’, ’_’, ’_’], [’_’, ’_’, ’_’], [’_’, ’_’, ’_’]]INFO - board -> [[’_’, ’_’, ’_’], [’_’, ’_’, ’X’], [’_’, ’_’, ’_’]]

這里把 row = [’_’] * 3 放入 for 循環中,這樣每一次循環都會新建一個 row,然后再放入游戲板中。這樣游戲板中的每一個單元格都是獨立的,互不影響。

利用列表推導方法,還可以簡化示例代碼:

board = [[’_’] * 3 for i in range(3)]logging.info(’board -> %s’, board)board[1][2] = ’X’logging.info(’board -> %s’, board)

以上就是python 如何快速復制序列的詳細內容,更多關于python 復制序列的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 电主轴-高速精密电主轴-高速电机厂家-瑞德沃斯品牌有限公司 | 打孔器,打孔钳厂家【温州新星德牌五金工具】 | 乳化沥青设备_改性沥青设备_沥青加温罐_德州市昊通路桥工程有限公司 | 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 手术示教系统-数字化手术室系统-林之硕医疗云智能视频平台 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 吹田功率计-长创耐压测试仪-深圳市新朗普电子科技有限公司 | 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 合肥地磅_合肥数控切割机_安徽地磅厂家_合肥世佳电工设备有限公司 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 | 不干胶标签,不干胶标签纸_厂家-山东同力胶粘制品| TPM咨询,精益生产管理,5S,6S现场管理培训_华谋咨询公司 | 浙江建筑资质代办_二级房建_市政_电力_安许_劳务资质办理公司 | 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | 潍坊大集网-潍坊信息港-潍坊信息网 | 包装机_厂家_价格-山东包装机有限公司| 聚合甘油__盐城市飞龙油脂有限公司 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 自动焊锡机_点胶机_螺丝机-锐驰机器人| SRRC认证|CCC认证|CTA申请_IMEI|MAC地址注册-英利检测 | 无硅导热垫片-碳纤维导热垫片-导热相变材料厂家-东莞市盛元新材料科技有限公司 | 政府回应:200块在义乌小巷能买到爱情吗?——揭秘打工族省钱约会的生存智慧 | 示波器高压差分探头-国产电流探头厂家-南京桑润斯电子科技有限公司 | 万家财经_财经新闻_在线财经资讯网 | 珠海白蚁防治_珠海灭鼠_珠海杀虫灭鼠_珠海灭蟑螂_珠海酒店消杀_珠海工厂杀虫灭鼠_立净虫控防治服务有限公司 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 急救箱-应急箱-急救包厂家-北京红立方医疗设备有限公司 | 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 上海软件开发-上海软件公司-软件外包-企业软件定制开发公司-咏熠科技 | 北京律师咨询_知名专业北京律师事务所_免费法律咨询 | 乐之康护 - 专业护工服务平台,提供医院陪护-居家照护-居家康复 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 小型数控车床-数控车床厂家-双头数控车床|