Posts: 30
Threads: 12
Joined: Aug 2018
#I wrote a program that come as a LIST output like below
['scext', '80.0']
['scext', 'COLFUJDX440_DS11']
['scext', 'Hard disk 1']
['scext', '100.0']
['scext', 'COLFUJDX440_DS11']
['scext', 'Hard disk 2']
['scext', '200.0']
['scext', 'COLFUJDX440_DS11']
['scext', 'Hard disk 3']
['SCEXTVMD', '100.0']
['SCEXTVMD', 'COLHG600P01_DS33']
['SCEXTVMD', 'Hard disk 1']
['SCEXTVMD', '40.0']
['SCEXTVMD', 'COLHG600P01_DS33']
['SCEXTVMD', 'Hard disk 2']
['SCEXTVM', '100.0']
['SCEXTVMD', 'COLHG600P01_DS33']
['SCEXTVMD', 'Hard disk 3'] Output: --- I would like to get unique value from LIST[0] and print it in below format.
scext , 80.0, COLFUJDX440_DS11 , Hard disk 1 ,100.0 , COLFUJDX440_DS11,Hard disk 2 ,200.0 ,COLFUJDX440_DS11,Hard disk 3
SCEXTVMD , 100.0, COLHG600P01_DS33 , Hard disk 1 ,40.0 , COLHG600P01_DS33, Hard disk 2,100.0, COLHG600P01_DS33 , Hard disk 3
Please help me
Posts: 5,151
Threads: 396
Joined: Sep 2016
Oct-16-2019, 09:28 PM
(This post was last modified: Oct-16-2019, 09:28 PM by metulburr.)
This is not a single list, but numerous lists. So hence i grouped them together in a single list.
lists = [
['scext', '80.0'],
['scext', 'COLFUJDX440_DS11'],
['scext', 'Hard disk 1'],
['scext', '100.0'],
['scext', 'COLFUJDX440_DS11'],
['scext', 'Hard disk 2'],
['scext', '200.0'],
['scext', 'COLFUJDX440_DS11'],
['scext', 'Hard disk 3'],
['SCEXTVMD', '100.0'],
['SCEXTVMD', 'COLHG600P01_DS33'],
['SCEXTVMD', 'Hard disk 1'],
['SCEXTVMD', '40.0'],
['SCEXTVMD', 'COLHG600P01_DS33'],
['SCEXTVMD', 'Hard disk 2'],
['SCEXTVMD', '100.0'],
['SCEXTVMD', 'COLHG600P01_DS33'],
['SCEXTVMD', 'Hard disk 3']
]
d = {}
for lst in lists:
key = lst[0]
value = lst[1]
d.setdefault(key, []).append(value)
print(d) Output: {'scext': ['80.0', 'COLFUJDX440_DS11', 'Hard disk 1', '100.0', 'COLFUJDX440_DS11', 'Hard disk 2', '200.0', 'COLFUJDX440_DS11', 'Hard disk 3'], 'SCEXTVMD': ['100.0', 'COLHG600P01_DS33', 'Hard disk 1', '40.0', 'COLHG600P01_DS33', 'Hard disk 2', '100.0', 'COLHG600P01_DS33', 'Hard disk 3']}
or run it through pretty printer:
Output: {'SCEXTVMD': ['100.0',
'COLHG600P01_DS33',
'Hard disk 1',
'40.0',
'COLHG600P01_DS33',
'Hard disk 2',
'100.0',
'COLHG600P01_DS33',
'Hard disk 3'],
'scext': ['80.0',
'COLFUJDX440_DS11',
'Hard disk 1',
'100.0',
'COLFUJDX440_DS11',
'Hard disk 2',
'200.0',
'COLFUJDX440_DS11',
'Hard disk 3']}
The dictionary is close to the format you want, but has organized it near that format. You just have to print it out as you like.
Recommended Tutorials:
Posts: 30
Threads: 12
Joined: Aug 2018
Oct-17-2019, 05:33 PM
(This post was last modified: Oct-17-2019, 05:33 PM by aankrose.)
import urllib3
from bs4 import BeautifulSoup
import requests
server_name="https:***********************************************"
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning
http = urllib3.PoolManager()
headers = urllib3.util.make_headers(basic_auth='****:****')
r = http.request('GET', server_name, headers=headers)
soup = BeautifulSoup(r.data, 'lxml')
Server=[i.get_text() for i in soup.find_all('ops:name')]
Identifier=[ i['identifier'] for i in soup.find_all('ops:resource') ]
Convert_Dict_01 = dict(zip(Server,Identifier))
#print(Convert_Dict_01)
for i in Identifier:
Properties_URL="https:/*********/"+i+"/properties"
r = http.request('GET', Properties_URL, headers=headers)
soup=BeautifulSoup(r.data, 'lxml')
Property_ID=[j['resourceid'] for j in soup.find_all('ops:resource-property') ]
for element in soup.find_all("ops:property"):
Name=element['name']
Total=[element.get_text()]
if 'scsi' in Name:
Convert_Dict_02 = dict(zip(Property_ID,Total))
for i,j in Convert_Dict_01.items():
for m,n in Convert_Dict_02.items():
if (Convert_Dict_01[i] == m):
SERVER = [i]
FINAL=[SERVER,Total]
print(FINAL) Output: Thanks for your reply metulburr, since my output coming in multiple list , i would like to know how i can get all list under one list?
Since my output gives tons of data, i cannot copy the entire output and put it in one list , please suggest me to get multiple list under one list
FINAL=[['scext', '80.0'],['scext', 'COLFUJDX440_DS11'],['scext', 'Hard disk 1'],['scext', '100.0'],['scext', 'COLFUJDX440_DS11'],['scext', 'Hard disk 2'],['scext', '200.0'],['scext', 'COLFUJDX440_DS11'],['scext', 'Hard disk 3'],['SCEXTVMD', '100.0'],['SCEXTVMD', 'COLHG600P01_DS33'],['SCEXTVMD', 'Hard disk 1'],['SCEXTVMD', '40.0'],['SCEXTVMD', 'COLHG600P01_DS33'],['SCEXTVMD', 'Hard disk 2'],['SCEXTVM', '100.0'],['SCEXTVMD', 'COLHG600P01_DS33'],['SCEXTVMD', 'Hard disk 3'] ]
|