创作赢红包python学习——第七弹

Posted 沃和莱特

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创作赢红包python学习——第七弹相关的知识,希望对你有一定的参考价值。

前言

上一篇文章 python学习——【第六弹】中介绍了 python中的字典操作,这篇文章接着学习python中的可变序列 集合

集合

1: 集合是python语言提供的内置数据结构,具有无序性(集合中的元素无法通过索引下标访问,并且每次输出时元素的排序顺序可能都不相同。),互异性确定性

2 :与列表、字典一样都属于可变类型的序列;但集合中的元素是不能重复的,因此可以利用集合为一组数据去重。

3: 集合是没有value的字典​

创建方式

1:可以直接使用花括号创建: set_name=11,22,‘hello’,‘world’

2:使用内置函数set() 创建(set() 函数为 Python 的内置函数,其功能是将字符串、列表、元组、range 对象等可迭代对象转换成集合。)创建方式: set_name=set(iteration)

jihe=11,22,33,44
print(jihe,type(jihe),id(jihe))
# 33, 11, 44, 22 <class 'set'> 140157225363408

jihe2=set(('hello','world',11)) #注意是双括号
print(jihe2,type(jihe2),id(jihe2))
# 'hello', 11, 'world' <class 'set'> 140157225362928

set1 = set("hello,world")
set2 = set([1, 2, 3, 4, 5])
set3 = set((1, 2, 3, 4, 5))
set4 = set(range(1, 9))
print(set1) #'o', 'd', 'e', 'r', ',', 'w', 'h', 'l'
print(set2) #1, 2, 3, 4, 5
print(set3) #1, 2, 3, 4, 5
print(set4) #1, 2, 3, 4, 5, 6, 7, 8

字典转set集合,需要注意的是,只取了字典的key,相当于将字典中的dict.keys()列表转成set集合。

jihe4=set('a':2,'b':3,'c':4)
print(jihe4)
# 'c', 'a', 'b'

空集合的创建:

如果要创建空集合,只能使用 set() 函数实现。
因为直接使用一对 ,Python 解释器会将其视为一个空字典。

s=set()
print(s,type(s),id(s))
# set() <class 'set'> 140549035954496
s1=set([])#列表
print(s1,type(s1),id(s1))
# set() <class 'set'> 140549035954736
s2=set(())#元组
print(s2,type(s2),id(s2))
# set() <class 'set'> 140549035954976
s3=set()#字典
print(s3,type(s3),id(s3))
# t() <class 'set'> 140549035955456

访问集合中的元素

由于集合中的元素是无序的,因此无法向列表那样使用下标访问元素。Python 中,访问集合元素最常用的方法是使用循环结构,将集合中的数据逐一读取出来,或者使用 in 关键字查询集合中是否存在指定值。

sets= 11,'c',1,(1,2,3),'hello'
for setss in sets:
    print(setss,end=' ') 
 #1 11 (1, 2, 3) c hello 

删除集合元素

使用 remove() 方法,语法格式如下:set_name.remove(element)

set1 = 11, 'hello', 1, (1, 2, 3), 'world', 'aa'
set1.remove(11)
print(set1)
# 1, 'hello', 'world', (1, 2, 3), 'aa'

如果删除的元素不再集合内,则会抛出 KeyError 错误

也可以使用 discard() 方法,该方法和 remove() 方法的用法完全相同,唯一的区别就是,当删除集合中元素失败时,不会抛出任何错误,但会返回原集合。

使用pop()函数随机移除集合中的一个元素

x = "apple", "banana", "cherry"
set.pop(x)
print(x)
# 'apple', 'cherry'

删除集合

可以通过del()关键字删除整个集合对象

set1 = 11, 'hello', 1, (1, 2, 3), 'world', 'aa'
print(set1)
del set1
print(set1)
# NameError: name 'set1' is not defined

向集合中添加元素

可使用set类型提供的 add() 方法实现,add() 方法添加的元素,只能是数字、字符串、元组等不可变类型或者布尔类型,不能添加列表、字典、集合等可变的数据,否则Python解释器会抛出TypeError错误。如果该元素已存在,则 add() 方法就不会添加元素

set2= 1, 2, 3
print('添加元素之前集合的信息:',set2,type(set2),id(set2))
# 1, 2, 3 <class 'set'> 140033352959952
set2.add((1, 2))
print('添加元素后集合的信息:',set2,type(set2),id(set2))
# 添加元素后集合的信息: (1, 2), 1, 2, 3 <class 'set'> 140033352959952

使用update()函数向当前的集合中添加集合

x = "apple", "banana", "cherry"
y = "google", "runoob", "apple" 
x.update(y) 
print(x)
# 'cherry', 'runoob', 'banana', 'apple', 'google'

集合的运算

每篇一语

工欲善其事,必先利其器!

到此对于python中的序列就介绍完了,接下来还会持续更新python学习——【第N弹】

如有不足,感谢指正!

前端学习 第七弹: Javascript实现图片的延迟加载

前端学习 第七弹: Javascript实现图片的延迟加载

为了实现图片进入视野范围才开始加载首先:

<img    src="" x-src="/acsascasc.jpg">

这时src是空的没有加载图片

$(window).scroll(function (){
    $("img").each(function(){
        if ($(this).src == ""){
           if ( ($(this).offset().top + $(this).width()/2)<($(window).height()+$(window).scrollTop() ) ){
            $(this).attr("src",$(this).attr("x-src"));
            } 
        }
    });
    
});        

 

 

 

 

$().attr(,)    设置并返回元素的某个属性

以上是关于创作赢红包python学习——第七弹的主要内容,如果未能解决你的问题,请参考以下文章

创作赢红包进线程有关的面试题

创作赢红包Java多线程:synchronized锁方法块

创作赢红包SQL Server之索引设计

创作赢红包网络安全——传输层安全协议

创作赢红包Nginx四——Nginx实现负载均衡的多种策略

前端学习 第七弹: Javascript实现图片的延迟加载