Python:如何创建搜索特定IP地址的字典列表函数
我想创建ip地址列表。我想在字典中循环并检查ip地址是否符合if条件。如果地址是瑞典语,我想将其添加到列表中。检查完字典后,我想循环浏览列表并打印所有瑞典IP地址。我做错了什么Python:如何创建搜索特定IP地址的字典列表函数,python,list,dictionary,Python,List,Dictionary,我想创建ip地址列表。我想在字典中循环并检查ip地址是否符合if条件。如果地址是瑞典语,我想将其添加到列表中。检查完字典后,我想循环浏览列表并打印所有瑞典IP地址。我做错了什么 def ipAddresses(listOfIps): ### list of ip addresses in dictionary ipAddresses = {"255.255.255.0 / 21": "Suomi", "192.168.64.9
def ipAddresses(listOfIps): ### list of ip addresses in dictionary
ipAddresses = {"255.255.255.0 / 21": "Suomi",
"192.168.64.96 / 27": "Suomi",
"32.204.65.64 / 27": "Suomi",
"41.57.128.0 / 22": "Sweden",
"31.204.70.96 / 27": "Suomi",
"41.58.10.0 / 16": "Sweden",
"31.217.192.162 / 21": "Suomi",
"10.42.100.136 / 29": "Suomi",
"32.100.148.0 / 24": "Suomi",
"41.67.128.0 / 18": "Sweden",
"10.10.10.100 / 24": "Suomi",
"10.10.100.1 / 24": "Suomi"
}
for ip, country in listOfIps.items(): ## if ip address is Swedish, add it to a list
if (country == Sweden):
ipAddresses.append(ip,country)
return ipAddresses
def Osio6(): ## loop through the list and print all swedish IP-addresses
listOfIps = []
for ipAddress in listOfIps:
listOfIps.append(ipAddress)
ipAddressList = Swedish(listOfIps)
print ("List of Swedish IP-addresses are: \n", ipAddressList, "\n")
这将有助于您:
ipAddresses = {
"1.172.152.0 / 21": "Finland",
"31.204.64.96 / 27": "Finland",
"31.204.65.64 / 27": "Finland",
"41.57.120.0 / 22": "Sweden",
"31.204.66.96 / 27": "Finland",
"41.58.0.0 / 16": "Sweden",
"31.217.192.0 / 21": "Finland",
"32.42.29.136 / 29": "Finland",
"32.106.148.0 / 24": "Finland",
"41.67.128.0 / 18": "Sweden",
"32.106.181.0 / 24": "Finland",
"32.106.182.0 / 24": "Finland"
}
print('-'*80 + "\nSwedish IP Addresses\n" + '-'*80)
[print(key) for key in ipAddresses.keys() if ipAddresses[key] == "Sweden"]
输出:
--------------------------------------------------------------------------------
Swedish IP Addresses
--------------------------------------------------------------------------------
41.57.120.0 / 22
41.58.0.0 / 16
41.67.128.0 / 18
下面是一个示例,您可以将瑞典语地址存储到列表中,然后打印列表(您也可以借助列表理解来执行此操作): 印刷品:
41.57.120.0 / 22
41.58.0.0 / 16
41.67.128.0 / 18
像这样的
ipAddresses = {
"1.172.152.0 / 21": "Finland",
"31.204.64.96 / 27": "Finland",
"31.204.65.64 / 27": "Finland",
"41.57.120.0 / 22": "Sweden",
"31.204.66.96 / 27": "Finland",
"41.58.0.0 / 16": "Sweden",
"31.217.192.0 / 21": "Finland",
"32.42.29.136 / 29": "Finland",
"32.106.148.0 / 24": "Finland",
"41.67.128.0 / 18": "Sweden",
"32.106.181.0 / 24": "Finland",
"32.106.182.0 / 24": "Finland"
}
new = dict((k,v) for k, v in ipAddresses.items() if v =='Sweden' )
print(new)
输出
{'41.57.120.0 / 22': 'Sweden', '41.58.0.0 / 16': 'Sweden', '41.67.128.0 / 18': 'Sweden'}
为什么不这样做?
print(“\n”).join(ip代表ip,ip地址中的国家。如果国家=”瑞典“),则值为())
mylist=[ipaddress代表ipaddress,mydictionary中的位置。items()如果位置=”瑞典“]
{'41.57.120.0 / 22': 'Sweden', '41.58.0.0 / 16': 'Sweden', '41.67.128.0 / 18': 'Sweden'}
ipAddresses = {
"1.172.152.0 / 21": "Finland",
"31.204.64.96 / 27": "Finland",
"31.204.65.64 / 27": "Finland",
"41.57.120.0 / 22": "Sweden",
"31.204.66.96 / 27": "Finland",
"41.58.0.0 / 16": "Sweden",
"31.217.192.0 / 21": "Finland",
"32.42.29.136 / 29": "Finland",
"32.106.148.0 / 24": "Finland",
"41.67.128.0 / 18": "Sweden",
"32.106.181.0 / 24": "Finland",
"32.106.182.0 / 24": "Finland"
}
countryToSearchFor="Sweden"
swedenIps=[]
for ip, country in ipAddresses.items():
if country==countryToSearchFor:
swedenIps.append(ip)
for swedenIp in swedenIps:
print(swedenIp)