首页 > 技术文章 > python5

betterquan 2020-04-10 21:44 原文

 

 

 

 

 

t = ("a","b","c",1,2)
print(t)
print(t[2])
print(t[-1])
print(t[1:4])
print('b' in t)
#元组创建后不可变
#写入数据的函数也不支持
#特殊情况,如果元组内持有列表,那么列表的内容是允许被修改的
t2 = (['a',199],['b',100])
print(t2[1])
t2[1][1] = 1
print(t2)
#对于元组元素的修改都是不可以的
t3 = (1,2,3) + (4,5,6)
print(t3)
#如果元组只用一个元素时,必须在这个元素后增加逗号说明是一个元组
t4 = ('a')*9
t5 = ('a',)*9
print(t4)
print(t5)
结果
('a', 'b', 'c', 1, 2)
c
2
('b', 'c', 1)
True
['b', 100]
(['a', 199], ['b', 1])
(1, 2, 3, 4, 5, 6)
aaaaaaaaa
('a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a')

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c = "abcdefg"
for i in range(0,len(c)):
    letter = c[i]
    print(letter)

#实现斐波那契数列, 1, 2, 3, 5, 8, 13,
result = []
for i in range(0,20):
    if i == 0 or i ==1:
        result.append(1)
    else:
        result.append(result[i-2] + result[i-1])
print(result)
#判断l质数
l = 776
is_prime = True
for i in range(2,l):
    if 1 % i == 0:
        is_prime = False
        break
if is_prime == True:
    print("{}是质素".format(l))
else:
    print("{} 不是质数".format(l))
结果
a
b
c
d
e
f
g
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]
776是质素

 

 

 

l1 = ['a','b','c']
t1 = ('d','e','f')
s1 ='abc123'
s2 = 'abc,123'
r1 = range(1,4)

l2 = list(t1)
print(l2) #['d', 'e', 'f']
print(list(s1))#['a', 'b', 'c', '1', '2', '3']
print(s2.split(","))#['abc', '123']
print(list(r1))#[1, 2, 3]

print(tuple(l1))#('a', 'b', 'c')
print(tuple(s1))#('a', 'b', 'c', '1', '2', '3')
print(tuple(s2.split(",")))#('abc', '123')
#带有特殊符号的字符串是不能直接转换为元组
print(tuple(s2))#('a', 'b', 'c', ',', '1', '2', '3')
print(tuple(r1))#(1, 2, 3)

#str 用于将单个数据转换为字符串,join只能全部操作对象都是字符串
print(str(l1))#['a', 'b', 'c']
print("".join(l1))#abc
print("|".join(t1))#d|e|f
s3 = "" 包含数字的使用着这种
for i in r1 :
    s3 += str(i)
print(s3)#123

 

 

 

 

 

 

 

 

 

集合的读取和存储都是比较高效,但是就是浪费内存空间

 

 

 

 

 

 

college1 = {"法学","经济学","教育学","哲学"}
college2 = {"金融学","哲学","经济学","历史学","文学"}

#A交B
#放回新的集合,两个集合都有的元素    #交集
c3 = college1.intersection(college2)
print(c3)#结果{'经济学', '哲学'}
college1.intersection_update(college2)#直接将结果跟新给college1
print(college1)#结果{'经济学', '哲学'}

#AUB
college1 = {"法学","经济学","教育学","哲学"}
college2 = {"金融学","哲学","经济学","历史学","文学"}
c4 = college1.union(college2)   #并集,没有uptdate
print(c4)

#A - A交B
#差集,college1中有,college2中没有的元素
c5 = college1.difference(college2) #有update
print(c5)

#AUB - A交B
#两个集合各独自有的元素 #symmetric均衡的意思
c6 = college1.symmetric_difference(college2)
print(c6)
{'经济学', '哲学'}
{'经济学', '哲学'}
{'文学', '法学', '金融学', '历史学', '教育学', '经济学', '哲学'}
{'法学', '教育学'}
{'文学', '法学', '金融学', '历史学', '教育学'}

 

 

 

 

college1 = {"法学","经济学","教育学","哲学"}
for c in college1: #即使是遍历,输出的结果也和定义的不一样
    print(c)
print("法学" in college1) #判断元素存在
#集合没有索引进行,不能进行数据的提取

#新增数据,add一次只能添加一个
college1.add("技术")
print(college1)#因为集合中不存在,添加!
college1.add("法学")
print(college1) #因为集合存在,而且元素不能重复,无添加!无报错

#update 一次性添加多个元素
college1.update(["发呕","测试"]) #括号里面可用是元组
print(college1)

#注意集合当中是不可以直接修改元素的,必须先删除后添加
college1.remove("发呕")
#remove 遇到不存在的元素,报错
college1.discard("")
#discard 遇到不存在可用忽略报错
college1.add("拉肚")
print(college1)

 

 

 

 

#结构:
#[被追加的数据 循环语句  循环或者判断语句]
lst1 = []
for i in range(10,20):
    lst1.append(i*10)
print(lst1)
lst2 = [i*10 for i in range(10,20)]
print(lst2)

lst3 = [i*10 for i in range(10,20) if i%2 == 0]
print(lst3)
for i in range(10,20):
    if i % 2 == 0:
        lst3.append(i * 10)
lst4 = [i*j for  i in range(1,5) for j in range(1,5)]
print(lst4)

#字典生成式
lst5 = ["aaa","bbb","cccc"]
dict1 = {i+1:lst5[i] for i in range(0,len(lst5))}
print(dict1)

#集合生成式
set1 = { i* j for i in range(1,4) for j in range(1,4) if i == j}
print(set1)
for i in range(1,4):
    for j in range(1,4):
        if j == i:
            set1.add(j * i)
结果
[100, 110, 120, 130, 140, 150, 160, 170, 180, 190]
[100, 110, 120, 130, 140, 150, 160, 170, 180, 190]
[100, 120, 140, 160, 180]
[1, 2, 3, 4, 2, 4, 6, 8, 3, 6, 9, 12, 4, 8, 12, 16]
{1: 'aaa', 2: 'bbb', 3: 'cccc'}
{1, 4, 9}

 

推荐阅读