Python 板


LINE

感谢各路前辈的提点,小弟整理出最後的三个Solution出来。 1. UUID: tmpStr = "" tmpList = Str.split(", ") for i, p in enumerate(tmpList): width = 0 if i == 0: width = 8 elif i == 1 or i == 2: width = 4 else: width = 2 i = i + 1 tmpStr += p[2:].zfill(width) return tmpStr print(uuid.UUID(modifyGuidFormat2(source))) 2-1. String format: tmpList = Str.split(", ") for i, element in enumerate(tmpList): width = 0 if i == 0: width = 8 elif i == 1 or i == 2: width = 4 else: width = 2 tmpList[i] = element[2:].zfill(width) return "-".join([tmpList[0], tmpList[1], tmpList[2], "".join(tmpList[3:5]), "".join(tmpList[5:])]) 2-2. String Format: first, second, third, fourth, fifth, * \ rest_parts = [s.strip()[2:] for s in source.split(',')] output = '{first:0>8}-{second:0>4}-{third:0>4}-{fourth:0>4}-{rest:0>8}'.format( first=first, second=second, third=third, fourth=fourth + fifth.zfill(2), rest=''.join(p.zfill(2) for p in rest_parts),) return output 以上,再次感谢大家的教导。 ※ 引述《uranusjr (←这人是超级笨蛋)》之铭言: : ※ 引述《LwHow (Do)》之铭言: : : 0x798ffd60, 0xf10e, 0x4ac4, 0x89, 0x39, 0xc8, 0xbe, 0xab, 0xfe, 0x55, 0xb4 : : 798ffd60-f10e-4ac4-8939-c8beabfe55b4 : : 有一个重点就是,格式必须要符合宽度 : : 例如 第一组资料如果是0xffd60,则我们必须把资料补满为 : : 000ffd60-xxxx-xxxx-xxxx-xxxxxxxx : : 其他栏位以此类推 : 推 darkgerm: 撇开uuid的话 这个用format string就能做到了 07/21 09:19 : → darkgerm: 可以看 str.format 07/21 09:20 : 我没看你的程式, 不过按照你的需求, 假设最後面那组也是补 leading zeros : 那麽可以这样写 (需要 Python 3) : # 把资料用逗号拆开, 每笔去掉前後空白和 0x 开头 : # 前三笔叫 first second third, 剩下的放到 rest_parts (会是个 list) : first, second, third, *rest_parts = [s.strip()[2:] for s in source.split(',')] : # 把 rest_parts join 起来叫做 rest, 然後组合成结果 : # 每个 variable 後面的 : 代表资料格式, 後面格式符号的意思是: : # > 代表向右对齐 : # 0 代表前面补 0 : # 最後一位数字代表至少补到几位 : output = '{first:0>8}-{second:0>4}-{third:0>4}-{rest:0>8}'.format( : first=first, second=second, third=third, : rest=''.join(p.zfill(2) for p in rest_parts), : ) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.21.152.94
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1501219913.A.263.html ※ 编辑: LwHow (211.21.152.94), 07/28/2017 13:42:34







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灯, 水草

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

TOP