52 lines
1.8 KiB
Python
52 lines
1.8 KiB
Python
device_str = " r3-L-n7, cisco, catalyst 2960, ios , extra stupid stuff "
|
|
|
|
# NON LIST COMPREHENSION WAY
|
|
device = list()
|
|
for item in device_str.split(","):
|
|
device.append(item.strip())
|
|
print("\ndevice using for loop:\n\t\t", device)
|
|
|
|
# LIST COMPREHENSION
|
|
device = [item.strip() for item in device_str.split(",")]
|
|
print("\ndevice using list comprehension:\n\t\t", device)
|
|
|
|
# SIMPLER LIST COMPREHENSION
|
|
device_info_list = device_str.split(",")
|
|
device = [item.strip() for item in device_info_list]
|
|
print("\ndevice using simpler list comprehension:\n\t\t", device)
|
|
|
|
# LIST COMPREHENSION WITH CONDITIONAL
|
|
device = [item.strip() for item in device_str.split(",") if "stupid" not in item]
|
|
print("\ndevice using list comprehension with conditional:\n\t\t", device)
|
|
|
|
device_info = [
|
|
("name", "r3-L-n7"),
|
|
("vendor", "cisco"),
|
|
("model", "catalyst 2960"),
|
|
("os", "ios"),
|
|
]
|
|
|
|
# DICT COMPREHENSION FROM LIST OF TUPLES
|
|
device = {item[0]: item[1] for item in device_info}
|
|
print("\ndevice using dict comprehension:\n\t\t", device)
|
|
print("device nicely formatted:")
|
|
for key, value in device.items():
|
|
print(f"{key:>16s} : {value}")
|
|
|
|
device_info_str = "name:r3-L-n7, vendor:cisco, model:catalyst 2960, os:ios, version:12.1(T)"
|
|
|
|
# LIST THEN DICT COMPREHENSION FROM STRING
|
|
device_info_pairs = [kv_pair.split(":") for kv_pair in device_info_str.split(",")]
|
|
device = {item[0]: item[1] for item in device_info_pairs}
|
|
print("\ndevice using list and dict comprehension:\n\t\t", device)
|
|
print("device nicely formatted:")
|
|
for key, value in device.items():
|
|
print(f"{key:>16s} : {value}")
|
|
|
|
# DICT COMPREHENSION FROM STRING
|
|
device = {item.split(":")[0]: item.split(":")[1] for item in device_info_str.split(",")}
|
|
print("\ndevice using dict comprehension:\n\t\t", device)
|
|
print("device nicely formatted:")
|
|
for key, value in device.items():
|
|
print(f"{key:>16s} : {value}")
|