With a list container, we can use one variable to hold multiple data and more importantly, we can use loops to operate on the data held in the container
def main():
f = [12, 45, 99, 68, 777, 32]
print(f[0])
print(f[2])
print(f[5])
f[4] = 77
print(f[4])
if __name__ == '__main__':
main()
def get_suffix(filename, has_dot=False):
"""
获取文件名的后缀名
:param filename: 文件名
:param has_dot: 后缀名是否带点
:return: 文件的后缀名
"""
pos = filename.rfind('.')
if 0 < pos < len(filename) - 1:
index = pos if has_dot else pos + 1
return filename[index:]
else:
return '错误信息'
def main():
a = get_suffix('hello.txt')
b = get_suffix('hello.jpg', True)
c = get_suffix('abc.efg.txt')
d = get_suffix('.abc')
e = get_suffix('text.py')
f = get_suffix('hello.c')
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
if __name__ == '__main__':
main()
- 3 Adding and removing elements from a list
def main():
f = [100, 200, 500]
f.append(123)
f.insert(2, 300)
f.insert(-1, 400)
"""
1.知道位置:del
2.不知道位置,但知道元素是什么:remove
3.不知道元素位置,也不知道元素是什么,先用if ... in ...判断,看元素是否在列表里
"""
f.remove(500)
del f[3]
if 500 in f:
print(f)
f.pop()
print(f)
if __name__ == '__main__':
main()
- 4 Usage of enums in lists
def main():
f = [100, 200, 500]
print(f[0])
print(f[1])
print(f[2])
print(f[-1])
print(f[-2])
print(f[-3])
for index in range(len(f)):
print(f[index])
for value in f:
print(value)
for val in f:
val += 10
print(val)
print(f)
for index, val in enumerate(f):
print(index, ':', val)
if __name__ == '__main__':
main()
from random import randint
def main():
f = [0] * 6
for _ in range(60000):
dice = randint(1, 6)
f[dice - 1] += 1
print(f)
if __name__ == '__main__':
main()
from random import randint
def roll_dace(n=2):
total = 0
for _ in range(n):
total += randint(1, 6)
return total
def main():
f = [0] * 11
for _ in range(60000):
dace = roll_dace()
f[dace - 2] += 1
point = 2
for counter in f:
print('%d点摇出了%d次' % (point, counter))
point += 1
if __name__ == '__main__':
main()
from random import randint
def roll_dice(n=2):
total = 0
for _ in range(n):
total += randint(1, 6)
return total
def main():
f = [0] * 11
for _ in range(60000):
dice = roll_dice(2)
f[dice - 2] += 1
for index in range(len(f)):
print('%d点摇出了%d次' % (index + 2, f[index]))
print('%d点摇出了%.2f%%' % (index + 2, f[index] / 600))
if __name__ == '__main__':
main()
from random import randint
def roll_dice(n=2):
total = 0
for _ in range(n):
total += randint(1, 6)
return total
def main():
f = [0] * 11
for _ in range(60000):
dice = roll_dice(2)
f[dice - 2] += 1
for index, val in enumerate(f):
print('%d点摇出了%d次' % (index + 2, val))
print('%d点摇出了%.2f%%' % (index + 2, val / 600))
if __name__ == '__main__':
main()
def main():
f = ['orange', 'mango', 'grape', 'peach', 'apple', 'watermelon']
f1 = sorted(f)
print(f)
print(f1)
f1.reverse()
print(f1)
f2 = sorted(f, reverse=True)
print(f2)
f.sort(reverse=True)
print(f)
f3 = reversed(f)
print(f)
if __name__ == '__main__':
main()
def main():
f = [1, 1]
print(f)
for index in range(2, 20):
var = f[index -1] + f[index - 2]
f.append(var)
print(f)
print(f)
print(f[18] / f[19])
f2 = f[18:]
print(f2[0] / f2[1])
print(f2)
f3 = f[::-1]
print(f3)
f.reverse()
print(f)
if __name__ == '__main__':
main()