A Python 'Object List'. It's basically your standard python list that additionally lets you attach data to it that doesn't affect the actual list items itself.
Project description
oList
A Python 'Object List'. It's basically your standard python list that additionally lets you attach data to it that doesn't affect the actual list items itself.
Treat the oList as you would a normal list:
my_list = oList([-10,3,4,-11,7,14])
my_list.sort()
for list_item in my_list:
print(str(list_item))
oList Methods:
oList.attach('data') # can be of any type
oList.get_attachments() # returns a list or the object itself if the attachments are only 1
oList.as_dict(_attachments=True) # returns a dict, access values being index, _attachment=True will add attachment data to the dict
oList.as_tuple() # returns tuple
Example Usage:
intel_list = oList([
'i5-9600k',
'i9-10910',
'i9-10900K',
]).attach({
'carrier': 'Intel',
'description': 'A nice little list of some intel Cpus.'
})
ryzen_list = oList([
'Ryzen 3 1200',
'Ryzen 5 1400',
'Ryzen 5 3600x'
]).attach({
'carrier': 'AMD',
'description': 'A nice little list of some Ryzen Cpus.'
})
cpu_list = oList([intel_list, ryzen_list]).attach('List of Intel and Ryzen Cpus')
# .... later on in the program ....
print("--- " + cpu_list.get_attachments() + " ---\n")
for cpus in cpu_list:
print(cpus.get_attachments())
for cpu in cpus:
print(cpus.get_attachments()['carrier'] + ' - ' + cpu)
print('')
# OUTPUT:
# --- List of Intel and Ryzen Cpus ---
#
# {'carrier': 'Intel', 'description': 'A nice little list of some intel Cpus.'}
# Intel - i5-9600k
# Intel - i9-10910
# Intel - i9-10900K
#
# {'carrier': 'AMD', 'description': 'A nice little list of some Ryzen Cpus.'}
# AMD - Ryzen 3 1200
# AMD - Ryzen 5 1400
# AMD - Ryzen 5 3600x
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
oList-0.0.2.tar.gz
(2.7 kB
view details)
Built Distribution
oList-0.0.2-py3-none-any.whl
(2.6 kB
view details)
File details
Details for the file oList-0.0.2.tar.gz
.
File metadata
- Download URL: oList-0.0.2.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | baa1cb4ce2342a4f00e1da11346af93a8a4f8a19d8843979c37f1c19b471ea57 |
|
MD5 | a54623ebe7a2ff587960b0f7ff7369d5 |
|
BLAKE2b-256 | c98c188f85ada71e0d9ac214180a0b3c1b8b518e2ecdce23e59364d1c119ddbc |
File details
Details for the file oList-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: oList-0.0.2-py3-none-any.whl
- Upload date:
- Size: 2.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ccf7e8c87fc158b7fe2deffbf86b975b539d592d2d80276da28f3313cb7db5e |
|
MD5 | bb37a3cce6d5056377c9ed20ff8f66f1 |
|
BLAKE2b-256 | b4f3f93e6098fc6c5c5b4200dafa80b307dd37eba3afc66d0332b3c4552fa21b |