Last active
December 14, 2015 18:48
-
-
Save hanksudo/5131770 to your computer and use it in GitHub Desktop.
Python 3: List Example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# -*- coding: UTF-8 -*- | |
""" | |
Introducing Lists easy example | |
@author: Hank Wang <[email protected]> | |
@version: 20101010 | |
""" | |
# Creating Lists | |
l0 = l1 = ['PS3', 'XBOX', 'Wii'] | |
l2 = list(['pork', 'hotpot', 'beef']) | |
l3 = list() # empty list | |
l4 = [1, 3, 5, 7] | |
l5 = l0[:] # createing a copy | |
# Show Lists | |
print('\n=== Show Lists === ') | |
print(l0) # ['PS3', 'XBOX', 'Wii'] | |
print(l1) # ['PS3', 'XBOX', 'Wii'] | |
print(l2) # ['pork', 'hotpot', 'beef'] | |
print(l3) # [] | |
print(l4) # [1, 3, 5, 7] | |
# Accessing Lists | |
# - L[index] | |
# - L[start:stop:step] | |
print('\n=== Accessing Lists === ') | |
print(l1[0]) # PS3 | |
print(l1[-2]) # XBOX | |
print(l1[1:-1]) # ['XBOX'] | |
print(l1[:2]) # ['PS3', 'XBOX'] | |
print(l1[1:]) # ['XBOX', 'Wii'] | |
print(l1[1:3]) # ['XBOX', 'Wii'] | |
print(l1[:3:2]) # ['PS3', 'Wii'] | |
# Looping Over Lists | |
print('\n=== Looping Over Lists === ') | |
for item in l1: | |
print(item) | |
for index, item in enumerate(l2): | |
print(index, item) | |
[print(item) for item in l2] | |
print("|".join(map(str, l2))) | |
for index in range(len(l2)): | |
print(index) | |
# Iterator | |
print('\n=== Iterator === ') | |
i = iter(l1) | |
print(i.__next__()) # PS3 | |
print(i.__next__()) # XBOX | |
for item in l2.__iter__(): | |
print(item) | |
# join string | |
print('\n=== Join string === ') | |
print(''.join(l1)) # PS3XBOXWii | |
# sum | |
print('\n=== Sum === ') | |
print(sum(l4)) # 16 | |
print(sum(l4, 4)) # 20 | |
print(float(sum(l4) / len(l4))) # average: 4.0 | |
# Modify element | |
# - L.append(item) | |
# - L.extend(sequence) | |
# - L.insert(index, item) | |
print('\n=== Modify elements === ') | |
l1.insert(2, 'Sega') | |
print(l1) # ['PS3', 'XBOX', 'Sega', 'Wii'] | |
# 注意 append & extend 的不同 | |
arr = ['a','b','c'] | |
l1.append(arr) | |
l1.extend(arr) | |
print(l1) # ['PS3', 'XBOX', 'SEGA', 'Wii', ['a', 'b', 'c'], 'a', 'b', 'c'] | |
l4[3] = 6 | |
print(l4) # [1, 3, 5, 6] | |
# Search element | |
print('\n=== Search element === ') | |
try: | |
print(l1.index('Wii')) # 3 | |
print(l1.index('pork'))# can't find | |
except ValueError: | |
print('can\'t find') | |
print('Wii' in l1) # True | |
print('pork' in l2) # False | |
# Count, min, max | |
print('\n=== Count, min, max === ') | |
print(l1.count('PS3')) # 1 | |
print(min(l4)) # 1 | |
print(max(l4)) # 6 | |
# Sort | |
print('\n=== Sort === ') | |
l5 = [3, 77, 9, 32, 1, 16] | |
l6 = sorted(l5) # get a sorted copy | |
print(l5) # [3, 77, 9, 32, 1, 16] | |
print(l6) # [1, 3, 9, 16, 32, 77] | |
l5.sort() | |
print(l5) # [1, 3, 9, 16, 32, 77] | |
# Reverse | |
print('\n=== Reverse === ') | |
print(l4) # [1, 3, 5, 6] | |
l4.reverse() | |
print(l4) # [6, 5, 3, 1] | |
l4.reverse() | |
# Delete element | |
print('\n=== Delete elements === ') | |
l1.remove('Wii') | |
l1.remove(arr) | |
print(l1) # ['PS3', 'XBOX', 'SEGA', 'a', 'b', 'c'] | |
del l4[3] | |
print(l4) # [1, 3, 5] | |
del l4[1:3] | |
print(l4) # [1] | |
# pop | |
print('\n=== pop === ') | |
print(l1.pop()) # c | |
print(l1.pop(-2)) # a | |
print(l1.pop(3)) # b | |
# Operator element | |
print('\n=== Operator === ') | |
print(l1+l2) # ['PS3', 'XBOX', 'SEGA', 'pork', 'hotpot', 'beef'] | |
print(l2*2) # ['pork', 'hotpot', 'beef', 'pork', 'hotpot', 'beef'] | |
print(l3) # [] | |
l3 += 'NBA' | |
print(l3) # ['N', 'B', 'A'] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment