Python 板


LINE

※ 引述《LwHow (Do)》之铭言: : 各位先进 : 小弟刚初学不久 : 想跟大家请教一下 : 如果想将下面这个String : 0x798ffd60, 0xf10e, 0x4ac4, 0x89, 0x39, 0xc8, 0xbe, 0xab, 0xfe, 0x55, 0xb4 : 转换成格式成下面格式 : 798ffd60-f10e-4ac4-8939-c8beabfe55b4 : 有什麽比较漂亮的写法吗? : 有一个重点就是,格式必须要符合宽度 : 例如 第一组资料如果是0xffd60,则我们必须把资料补满为 : 000ffd60-xxxx-xxxx-xxxx-xxxxxxxx : 其他栏位以此类推 : 下面是我的Sample code(有点硬来...让大家伤眼了Orz) : def FillZeroByWidth(Str, Width): : Str = Str[2:].zfill(Width) : return Str : def FillZeroGuid(Str): : tmpList = Str.split(", ") : tmpStr = "" : tmpStr += fillzerobywidth(tmpList[0], 8) : tmpStr += fillzerobywidth(tmpList[1], 4) : tmpStr += fillzerobywidth(tmpList[2], 4) : tmpStr += fillzerobywidth(tmpList[3], 2) : tmpStr += fillzerobywidth(tmpList[4], 2) : tmpStr += fillzerobywidth(tmpList[5], 2) : tmpStr += fillzerobywidth(tmpList[6], 2) : tmpStr += fillzerobywidth(tmpList[7], 2) : tmpStr += fillzerobywidth(tmpList[8], 2) : tmpStr += fillzerobywidth(tmpList[9], 2) : tmpStr += fillzerobywidth(tmpList[10], 2) : return tmpStr : def strInsertIndex(Str, Index, Char): : return Str[:Index] + Char + Str[Index:] : def modifyGuidFormat(Str): : tmpStr = FillZeroGuid(Str) : tmpStr = strInsertIndex(tmpStr, 8, "-") : tmpStr = strInsertIndex(tmpStr, 13, "-") : tmpStr = strInsertIndex(tmpStr, 18, "-") : tmpStr = strInsertIndex(tmpStr, 23, "-") : return tmpStr : def main(): : tmpGuid = modifyGuidFormat(Guid) : 谢谢! 手边没电脑 只好凭空写一下 看能不能达到你的需求 tmp = guid.split(", ") for i in range(len(tmp)): tmp[i] = tmp[i][2:].zfill(len(tmp[i])-2) formatted_guid = "-".join([tmp[0],tmp[1],tmp[2],"".join(tmp[3:5]),"".join(tmp[5:])]) ----- Sent from JPTT on my Asus ASUS_Z00UD. --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.246.75.220
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1500600766.A.9D7.html ※ 编辑: LessonWang (27.246.75.220), 07/21/2017 09:34:02 ※ 编辑: LessonWang (27.246.75.220), 07/21/2017 09:37:06
1F:→ LessonWang: 後来看完了之後才发现 07/21 09:55
2F:→ LessonWang: 补零的部分 做一下修正 07/21 09:55
3F:→ LessonWang: for i in range(len(tmp)): 07/21 09:55
4F:→ LessonWang: if i == 0: 07/21 09:55
5F:→ LessonWang: tmp[i] = tmp[i][2:].zfill(8) 07/21 09:55
6F:→ LessonWang: elif i == 1 or i == 2: 07/21 09:55
7F:→ LessonWang: tmp[i] = tmp[i][2:].zfill(4) 07/21 09:55
8F:→ LessonWang: else: 07/21 09:55
9F:→ LessonWang: tmp[i] = tmp[i][2:].zfill(2) 07/21 09:55
10F:→ LessonWang: 然後formatted_guid可以简化成 07/21 13:45
11F:→ LessonWang: formatted_guid = "-".join([*tmp[0:2],"".join(tmp[3 07/21 13:45
12F:→ LessonWang: :5]),"".join(tmp[ 07/21 13:45
13F:→ LessonWang: 5:])]) 07/21 13:45







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP