我有一个十六进制数字列表,我想找到这个数字在特定范围内的内容,不使用范围Python函数。
十六进制数列表如下:
h = ["00000100", "000000c0", "000000a0" "00000620", "00000660", "00006000"]
我想在Python中找到大于
"00000100"
且小于"00000610"
的数字。
那么我该怎么做呢?
我尝试过以下代码:
h = ["00000100", "000000c0", "000000a0" "00000620", "00000660", "00006000"]
num =
for i in h:
if i >="00000100"and <= "00000610":
print(i)
int
内置函数可以转换任何基数的字符串:
h = ["00000100", "000000c0", "000000a0" "00000620", "00000660", "00006000"]
for s in h:
if int("00000100", 16) <= int(s, 16) <= int("00000610", 16):
print(s)
打印:
00000100
如果所有元素的长度与 OP 发布的长度相同,则这将起作用。如果值是变量长度,那么我们可以使用@Booboo
发布的
int()
来转换它们
h = ["00000100", "000000c0", "000000a0" "00000620", "00000660", "00006000"]
for i in h:
if i >="00000100"and i<= "00000610":
print(i)
#output
00000100
oneliner 列表比较:
[i for i in h if i >="00000100"and i<= "00000610"]
["00000100"]