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

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

python使用建議與技巧分享(一)

瀏覽:90日期:2022-07-13 18:55:21

這是一個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收獲。

1 如何創建指定長度且有特定值的list

不推薦方式

list1 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]print list1# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

推薦方式

list1 = [0] * 10print list1# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

其實,前一種方式一看就不符合DRY(Don’t Repeat Yourself)原則,稍微想想就知道還有更優雅的做法。如果是元組呢?只需要將[0]改成(0,)即可,千萬不要忘記0后面的逗號。另外,這里不止支持數字,其實可以是任意對象組成的list或者tuple。例如:

class User(object):passuser_list = [User()] * 10

2 如何連接字符串

不推薦方式

def plus_str():str_list = [’1’] * 10000long_str = ’’for str in str_list:long_str = long_str + strreturn long_str

推薦方式

def join_str():str_list = [’1’] * 10000return ’’.join(str_list)

使用加號方式連接字符串,效率底下,因為會頻繁的拷貝字符串和分配內存,比較耗時。但是使用join方式連接字符串,只需要分配一次內存,并將所有待連接的字符串拷貝到內存空間,效率更高。在我的電腦上,測試2個函數的耗時,當執行10000次時,前者耗時是后者約24倍,代碼如下:

print timeit(stmt='plus_str()',setup='from __main__ import plus_str',number=10000)// 輸出:42.7354210396print timeit(stmt='join_str()',setup='from __main__ import join_str',number=10000)// 輸出: 1.78316799643

3 如何合并字典

不推薦方式

dict1 = {’a’: 1, ’b’: 2, ’c’: 3}dict2 = {’a’: 4, ’b’: 5, ’g’: 6}dict1.update(dict2)merged_dict = dict1print merged_dict# {’a’: 4, ’c’: 3, ’b’: 5, ’g’: 6}

推薦方式

dict1 = {’a’: 1, ’b’: 2, ’c’: 3}dict2 = {’d’: 4, ’f’: 5, ’g’: 6}merged_dict = dict(dict1, **dict2)print merged_dict# {’a’: 1, ’c’: 3, ’b’: 2, ’d’: 4, ’g’: 6, ’f’: 5}

前一種方式會將源字典dict1修改,有一定的副作用,如果不在乎源字典被修改,前一種方式更簡潔一些。后一種方式不會修改源字典,沒有副作用。如果有重復的key值,按從右到左的順序覆蓋,例如:

dict1 = {’a’: 1, ’b’: 2, ’c’: 3}dict2 = {’a’: 4, ’b’: 5, ’g’: 6}merged_dict = dict(dict1, **dict2)print merged_dict# {’a’: 4, ’c’: 3, ’b’: 5, ’g’: 6}

使用右邊參數dict2的key值覆蓋dict1的key值。通過內建函數dict,將2個字典作為參數傳遞給該函數,創建一個新字典。需要特別指出的是,第二個參數dict2需要加上2個星號,這里表示該參數是一個具名參數,并且類型是字典。因為dict函數創建字典時,可以接受多個參數,這是python函數支持可變參數的規定格式。

以上就是python使用建議與技巧分享(一)的詳細內容,更多關于python 建議與技巧的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 河南空气能热水器-洛阳空气能采暖-洛阳太阳能热水工程-洛阳润达高科空气能商行 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | app开发|app开发公司|小程序开发|物联网开发||北京网站制作|--前潮网络 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 仪器仪表网 - 永久免费的b2b电子商务平台 | 防爆暖风机_防爆电暖器_防爆电暖风机_防爆电热油汀_南阳市中通智能科技集团有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 必胜高考网_全国高考备考和志愿填报信息平台 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | 非甲烷总烃分析仪|环控百科| 带锯机|木工带锯机圆木推台锯|跑车带锯机|河北茂业机械制造有限公司| | UV固化机_UVLED光固化机_UV干燥机生产厂家-上海冠顶公司专业生产UV固化机设备 | 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 运动木地板价格,篮球馆体育运动木地板生产厂家_欧氏地板 | 临朐空调移机_空调维修「空调回收」临朐二手空调 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 磁棒电感生产厂家-电感器厂家-电感定制-贴片功率电感供应商-棒形电感生产厂家-苏州谷景电子有限公司 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 成都中天自动化控制技术有限公司| 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 耐驰泵阀管件制造-耐驰泵阀科技(天津)有限公司 | 集菌仪厂家_全封闭_封闭式_智能智能集菌仪厂家-上海郓曹 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | 成都网站建设制作_高端网站设计公司「做网站送优化推广」 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 山东艾德实业有限公司| 珠海白蚁防治_珠海灭鼠_珠海杀虫灭鼠_珠海灭蟑螂_珠海酒店消杀_珠海工厂杀虫灭鼠_立净虫控防治服务有限公司 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 |