range(101)
:可以用来产生0到100范围的整数,需要注意的是取不到101。
range(1, 101)
:可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
range(1, 101, 2)
:可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
range(100, 0, -2)
:可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值
字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| s3 = """ hello, world! """ str2 = 'abc123456'
print(str2[2])
print(str2[2:5]) print(str2[2:]) print(str2[2::2]) print(str2[::2]) print(str2[::-1]) print(str2[-3:-1])
print(len(str1))
print(str1.capitalize())
print(str1.title())
print(str1.upper())
print(str1.find('or')) print(str1.find('shit'))
print(str1.startswith('He')) print(str1.startswith('hel'))
print(str1.endswith('!'))
print(str1.center(50, '*'))
print(str1.rjust(50, ' ')) str2 = 'abc123456'
print(str2.isdigit())
print(str2.isalpha())
print(str2.isalnum()) str3 = ' jackfrued@126.com ' print(str3)
print(str3.strip())
a, b = 5, 10 print(f'{a} * {b} = {a * b}')
|
列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| list1 = [1, 3, 5, 7, 100] print(list1[0]) print(list1[4]) print(list1[-1]) print(list1[-3]) list1[2] = 300 print(list1) for elem in list1: print(elem) list1.append(200) list1.insert(1, 400)
list1.extend([1000, 2000]) list1 += [1000, 2000]
if 3 in list1: list1.remove(3) list1.pop(0) list1.pop(len(list1) - 1) print(list1)
list1.clear() print(list1)
list1 = ['orange', 'apple', 'zoo', 'internationalization', 'blueberry'] list2 = sorted(list1)
list3 = sorted(list1, reverse=True)
list4 = sorted(list1, key=len) print(list1) print(list2) print(list3) print(list4)
list1.sort(reverse=True) print(list1)
|
元组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| t = ('骆昊', 38, True, '四川成都') print(t)
print(t[0]) print(t[3])
for member in t: print(member) t = ('王大锤', 20, True, '云南昆明') print(t)
person = list(t) print(person)
person[0] = '李小龙' person[1] = 25 print(person)
fruits_list = ['apple', 'banana', 'orange'] fruits_tuple = tuple(fruits_list) print(fruits_tuple)
|
这里有一个非常值得探讨的问题,我们已经有了列表这种数据结构,为什么还需要元组这样的类型呢?
元组中的元素是无法修改的,事实上我们在项目中尤其是多线程环境中可能更喜欢使用的是那些不变对象(一方面因为对象状态不能修改,所以可以避免由此引起的不必要的程序错误,简单的说就是一个不变的对象要比可变的对象更加容易维护;另一方面因为没有任何一个线程能够修改不变对象的内部状态,一个不变对象自动就是线程安全的,这样就可以省掉处理同步化的开销。一个不变对象可以方便的被共享访问)。所以结论就是:如果不需要对元素进行添加、删除、修改的时候,可以考虑使用元组,当然如果一个方法要返回多个值,使用元组也是不错的选择。
元组在创建时间和占用的空间上面都优于列表。
字典
字典是另一种可变容器模型,Python中的字典跟我们生活中使用的字典是一样一样的,它可以存储任意类型对象,与列表、集合不同的是,字典的每个元素都是由一个键和一个值组成的“键值对”,键和值通过冒号分开。下面的代码演示了如何定义和使用字典。
1 2 3 4 5 6 7 8 9 10 11 12 13
| scores ={'zhangyalong':100,'ekko':3'kong':20} print(scores['zhangyalong'])
scores=['zhangyalong']=200 scores.update(zhangyalong=200,ekko=8)
print(scores.popitem()) print(scores.pop('骆昊', 100))
scores.clear() print(scores)
|
练习
显示跑马灯
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import os import time
def main(): content = '祈祷着明天依旧美好.....' while True: os.system('cls') print(content) time.sleep(0.2) content = content[1:] + content[0]
if __name__ == '__main__': main()
|
