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

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

python 如何快速復制序列

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

1 基本用法

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

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 為需要復制的列表數(shù)。如果 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 循環(huán)中,這樣每一次循環(huán)都會新建一個 row,然后再放入游戲板中。這樣游戲板中的每一個單元格都是獨立的,互不影響。

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

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 山东柳店新能源科技有限公司| 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | 陕西安闸机-伸缩门-车牌识别-广告道闸——捷申达门业科技 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 高尔夫球杆_高尔夫果岭_高尔夫用品-深圳市新高品体育用品有限公司 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 京港视通报道-质量走进大江南北-京港视通传媒[北京]有限公司 | 七维官网-水性工业漆_轨道交通涂料_钢结构漆 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 钢衬玻璃厂家,钢衬玻璃管道 -山东东兴扬防腐设备有限公司 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 恒湿机_除湿加湿一体机_恒湿净化消毒一体机厂家-杭州英腾电器有限公司 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 权威废金属|废塑料|废纸|废铜|废钢价格|再生资源回收行情报价中心-中废网 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 技德应用| 真空干燥烘箱_鼓风干燥箱 _高低温恒温恒湿试验箱_光照二氧化碳恒温培养箱-上海航佩仪器 | 翰香原枣子坊加盟费多少钱-正宗枣核糕配方培训利润高飘香 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 金属雕花板_厂家直销_价格低-山东慧诚建筑材料有限公司 | 实验室隔膜泵-无油防腐蚀隔膜泵-耐腐蚀隔膜真空泵-杭州景程仪器 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 无线遥控更衣吊篮_IC卡更衣吊篮_电动更衣吊篮配件_煤矿更衣吊篮-力得电子 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 幂简集成 - 品种超全的API接口平台, 一站搜索、试用、集成国内外API接口 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 酒万铺-酒水招商-酒水代理 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 创富网-B2B网站|供求信息网|b2b平台|专业电子商务网站 | 潜水搅拌机-双曲面搅拌机-潜水推进器|奥伯尔环保 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 |