当前位置: 首页 > news >正文

太仓有没有做网站建设的wap网站用什么开发

太仓有没有做网站建设的,wap网站用什么开发,为成长持续赋能,海城区建设局网站Python 数据结构学习列表list.append(x)在列表的末尾添加一个元素。相当于 a[len(a):] [x] 。list.extend(iterable)使用可迭代对象中的所有元素来扩展列表。相当于 a[len(a):] iterable 。list.insert(i, x)在给定的位置插入一个元素。第一个参数是要插入的元素的索引#…Python 数据结构学习列表list.append(x)在列表的末尾添加一个元素。相当于 a[len(a):] [x] 。list.extend(iterable)使用可迭代对象中的所有元素来扩展列表。相当于 a[len(a):] iterable 。list.insert(i, x)在给定的位置插入一个元素。第一个参数是要插入的元素的索引所以 a.insert(0, x) 插入列表头部 a.insert(len(a), x) 等同于 a.append(x) 。list.remove(x)移除列表中第一个值为 x 的元素。如果没有这样的元素则抛出 ValueError 异常。list.pop([i])删除列表中给定位置的元素并返回它。如果没有给定位置a.pop() 将会删除并返回列表中的最后一个元素。( 方法签名中 i 两边的方括号表示这个参数是可选的而不是要你输入方括号。你会在 Python 参考库中经常看到这种表示方法)。list.clear()移除列表中的所有元素。等价于del a[:]list.index(x[, start[, end]])返回列表中第一个值为 x 的元素的从零开始的索引。如果没有这样的元素将会抛出 ValueError 异常。可选参数 start 和 end 是切片符号用于将搜索限制为列表的特定子序列。返回的索引是相对于整个序列的开始计算的而不是 start 参数。list.count(x)返回元素 x 在列表中出现的次数。list.sort(keyNone, reverseFalse)对列表中的元素进行排序(参数可用于自定义排序解释请参见 sorted())。list.reverse()翻转列表中的元素。list.copy()返回列表的一个浅拷贝等价于 a[:]。 fruits [orange, apple, pear, banana, kiwi, apple, banana] fruits.count(apple)2 fruits.count(tangerine)0 fruits.index(banana)3 fruits.index(banana, 4) # Find next banana starting a position 46 fruits.reverse() fruits[banana, apple, kiwi, banana, pear, apple, orange] fruits.append(grape) fruits[banana, apple, kiwi, banana, pear, apple, orange, grape] fruits.sort() fruits[apple, apple, banana, banana, grape, kiwi, orange, pear] fruits.pop()pear你可能已经注意到像 insert remove 或者 sort 方法只修改列表没有打印出返回值——它们返回默认值 None 。1 这是Python中所有可变数据结构的设计原则。你可能会注意到的另一件事是并非所有数据或可以排序或比较。 例如[None, hello, 10] 就不可排序因为整数不能与字符串比较而 None 不能与其他类型比较。 并且还存在一些没有定义顺序关系的类型。 例如34j 57j 就不是一个合法的比较。列表作为栈使用列表方法使得列表作为堆栈非常容易最后一个插入最先取出(“后进先出”)。要添加一个元素到堆栈的顶端使用 append() 。要从堆栈顶部取出一个元素使用 pop() 不用指定索引。例如 stack [3, 4, 5] stack.append(6) stack.append(7) stack[3, 4, 5, 6, 7] stack.pop()7 stack[3, 4, 5, 6] stack.pop()6 stack.pop()5 stack[3, 4]列表作为队列使用列表也可以用作队列其中先添加的元素被最先取出 (“先进先出”)然而列表用作这个目的相当低效。因为在列表的末尾添加和弹出元素非常快但是在列表的开头插入或弹出元素却很慢 (因为所有的其他元素都必须移动一位)。若要实现一个队列可使用 collections.deque它被设计成可以快速地从两端添加或弹出元素。例如 from collections import deque queue deque([Eric, John, Michael]) queue.append(Terry) # Terry arrives queue.append(Graham) # Graham arrives queue.popleft() # The first to arrive now leavesEric queue.popleft() # The second to arrive now leavesJohn queue # Remaining queue in order of arrivaldeque([Michael, Terry, Graham])列表推导式列表推导式提供了一个更简单的创建列表的方法。常见的用法是把某种操作应用于序列或可迭代对象的每个元素上然后使用其结果来创建列表或者通过满足某些特定条件元素来创建子序列。例如假设我们想创建一个平方列表像这样 squares [] for x in range(10):... squares.append(x**2)... squares[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]注意这里创建(或被重写)的名为 x 的变量在for循环后仍然存在。我们可以计算平方列表的值而不会产生任何副作用squares list(map(lambda x: x**2, range(10)))或者等价于squares [x**2 for x in range(10)]上面这种写法更加简洁易读。列表推导式的结构是由一对方括号所包含的以下内容一个表达式后面跟一个 for 子句然后是零个或多个 for 或 if 子句。 其结果将是一个新列表由对表达式依据后面的 for 和 if 子句的内容进行求值计算而得出。 举例来说以下列表推导式会将两个列表中不相等的元素组合起来: [(x, y) for x in [1,2,3] for y in [3,1,4] if x ! y][(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]而它等价于 combs [] for x in [1,2,3]:... for y in [3,1,4]:... if x ! y:... combs.append((x, y))... combs[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]注意在上面两个代码片段中 for 和 if 的顺序是相同的。如果表达式是一个元组(例如上面的 (x, y))那么就必须加上括号 vec [-4, -2, 0, 2, 4] # create a new list with the values doubled [x*2 for x in vec][-8, -4, 0, 4, 8] # filter the list to exclude negative numbers [x for x in vec if x 0][0, 2, 4] # apply a function to all the elements [abs(x) for x in vec][4, 2, 0, 2, 4] # call a method on each element freshfruit [ banana, loganberry , passion fruit ] [weapon.strip() for weapon in freshfruit][banana, loganberry, passion fruit] # create a list of 2-tuples like (number, square) [(x, x**2) for x in range(6)][(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)] # the tuple must be parenthesized, otherwise an error is raised [x, x**2 for x in range(6)]File , line 1, in [x, x**2 for x in range(6)]^SyntaxError: invalid syntax # flatten a list using a listcomp with two for vec [[1,2,3], [4,5,6], [7,8,9]] [num for elem in vec for num in elem][1, 2, 3, 4, 5, 6, 7, 8, 9]列表推导式可以使用复杂的表达式和嵌套函数 from math import pi [str(round(pi, i)) for i in range(1, 6)][3.1, 3.14, 3.142, 3.1416, 3.14159]嵌套的列表推导式列表推导式中的初始表达式可以是任何表达式包括另一个列表推导式。考虑下面这个 3x4的矩阵它由3个长度为4的列表组成 matrix [... [1, 2, 3, 4],... [5, 6, 7, 8],... [9, 10, 11, 12],... ]下面的列表推导式将交换其行和列 [[row[i] for row in matrix] for i in range(4)][[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]如上节所示嵌套的列表推导式是基于跟随其后的 for 进行求值的所以这个例子等价于: transposed [] for i in range(4):... transposed.append([row[i] for row in matrix])... transposed[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]反过来说也等价于 transposed [] for i in range(4):... # the following 3 lines implement the nested listcomp... transposed_row []... for row in matrix:... transposed_row.append(row[i])... transposed.append(transposed_row)... transposed[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]实际应用中你应该会更喜欢使用内置函数去组成复杂的流程语句。 zip() 函数将会很好地处理这种情况 list(zip(*matrix))[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]del 语句有一种方式可以从列表按照给定的索引而不是值来移除一个元素: 那就是 del 语句。 它不同于会返回一个值的 pop() 方法。 del 语句也可以用来从列表中移除切片或者清空整个列表(我们之前用过的方式是将一个空列表赋值给指定的切片)。 例如: a [-1, 1, 66.25, 333, 333, 1234.5] del a[0] a[1, 66.25, 333, 333, 1234.5] del a[2:4] a[1, 66.25, 1234.5] del a[:] a[]del 也可以删除整个变量 del a此后再引用 a 时会报错(直到另一个值被赋给它)。我们会在后面了解到 del 的其他用法。元组和序列我们看到列表和字符串有很多共同特性例如索引和切片操作。他们是 序列 数据类型(参见 序列类型 --- list, tuple, range)中的两种。随着 Python 语言的发展其他的序列类型也会被加入其中。这里介绍另一种标准序列类型: 元组。一个元组由几个被逗号隔开的值组成例如 t 12345, 54321, hello! t[0]12345 t(12345, 54321, hello!) # Tuples may be nested:... u t, (1, 2, 3, 4, 5) u((12345, 54321, hello!), (1, 2, 3, 4, 5)) # Tuples are immutable:... t[0] 88888Traceback (most recent call last):File , line 1, in TypeError: tuple object does not support item assignment # but they can contain mutable objects:... v ([1, 2, 3], [3, 2, 1]) v([1, 2, 3], [3, 2, 1])如你所见元组在输出时总是被圆括号包围的以便正确表示嵌套元组。输入时圆括号可有可无不过经常会是必须的(如果这个元组是一个更大的表达式的一部分)。给元组中的一个单独的元素赋值是不允许的当然你可以创建包含可变对象的元组例如列表。虽然元组可能看起来与列表很像但它们通常是在不同的场景被使用并且有着不同的用途。元组是 immutable 其序列通常包含不同种类的元素并且通过解包(这一节下面会解释)或者索引来访问(如果是 namedtuples 的话甚至还可以通过属性访问)。列表是 mutable 并且列表中的元素一般是同种类型的并且通过迭代访问。一个特殊的问题是构造包含0个或1个元素的元组为了适应这种情况语法有一些额外的改变。空元组可以直接被一对空圆括号创建含有一个元素的元组可以通过在这个元素后添加一个逗号来构建(圆括号里只有一个值的话不够明确)。丑陋但是有效。例如 empty () singleton hello, # len(empty)0 len(singleton)1 singleton(hello,)语句 t 12345, 54321, hello! 是 元组打包 的一个例子值 12345, 54321 和 hello! 被打包进元组。其逆操作也是允许的 x, y, z t这被称为 序列解包 也是很恰当的因为解包操作的等号右侧可以是任何序列。序列解包要求等号左侧的变量数与右侧序列里所含的元素数相同。注意多重赋值其实也只是元组打包和序列解包的组合。集合Python也包含有 集合 类型。集合是由不重复元素组成的无序的集。它的基本用法包括成员检测和消除重复元素。集合对象也支持像 联合交集差集对称差分等数学运算。花括号或 set() 函数可以用来创建集合。注意要创建一个空集合你只能用 set() 而不能用 {}因为后者是创建一个空字典这种数据结构我们会在下一节进行讨论。以下是一些简单的示例 basket {apple, orange, apple, pear, orange, banana} print(basket) # show that duplicates have been removed{orange, banana, pear, apple} orange in basket # fast membership testingTrue crabgrass in basketFalse # Demonstrate set operations on unique letters from two words... a set(abracadabra) b set(alacazam) a # unique letters in a{a, r, b, c, d} a - b # letters in a but not in b{r, d, b} a | b # letters in a or b or both{a, c, r, d, b, m, z, l} a b # letters in both a and b{a, c} a ^ b # letters in a or b but not both{r, d, b, m, z, l}类似于 列表推导式集合也支持推导式形式 a {x for x in abracadabra if x not in abc} a{r, d}字典另一个非常有用的 Python 內置数据类型是 字典 (参见 映射类型 --- dict)。字典在其他语言里可能会被叫做 联合内存 或 联合数组。与以连续整数为索引的序列不同字典是以 关键字 为索引的关键字可以是任意不可变类型通常是字符串或数字。如果一个元组只包含字符串、数字或元组那么这个元组也可以用作关键字。但如果元组直接或间接地包含了可变对象那么它就不能用作关键字。列表不能用作关键字因为列表可以通过索引、切片或 append() 和 extend() 之类的方法来改变。理解字典的最好方式就是将它看做是一个 键: 值 对的集合键必须是唯一的(在一个字典中)。一对花括号可以创建一个空字典{} 。另一种初始化字典的方式是在一对花括号里放置一些以逗号分隔的键值对而这也是字典输出的方式。字典主要的操作是使用关键字存储和解析值。也可以用 del 来删除一个键值对。如果你使用了一个已经存在的关键字来存储值那么之前与这个关键字关联的值就会被遗忘。用一个不存在的键来取值则会报错。对一个字典执行 list(d) 将返回包含该字典中所有键的列表按插入次序排列 (如需其他排序则要使用 sorted(d))。要检查字典中是否存在一个特定键可使用 in 关键字。以下是使用字典的一些简单示例 tel {jack: 4098, sape: 4139} tel[guido] 4127 tel{jack: 4098, sape: 4139, guido: 4127} tel[jack]4098 del tel[sape] tel[irv] 4127 tel{jack: 4098, guido: 4127, irv: 4127} list(tel)[jack, guido, irv] sorted(tel)[guido, irv, jack] guido in telTrue jack not in telFalsedict() 构造函数可以直接从键值对序列里创建字典。 dict([(sape, 4139), (guido, 4127), (jack, 4098)]){sape: 4139, guido: 4127, jack: 4098}此外字典推导式可以从任意的键值表达式中创建字典 {x: x**2 for x in (2, 4, 6)}{2: 4, 4: 16, 6: 36}当关键字是简单字符串时有时直接通过关键字参数来指定键值对更方便 dict(sape4139, guido4127, jack4098){sape: 4139, guido: 4127, jack: 4098}
http://www.huolong8.cn/news/411539/

相关文章:

  • 永久免费建网站红安建设局网站
  • 企业网站建设能开广告服务费吗品牌推广的步骤和技巧
  • 做网站用angularjianux wordpress
  • 二手书网站开发需求分析潍坊住房公积金官网
  • 你注册过哪些网站九牧全球市场地位
  • 网站ppt怎么做商丘做网站需要多少钱
  • 重庆潼南网站建设价格ai室内设计生成软件
  • 网站建设验收表做电商网站是什么
  • 做移动端网站软件开发4399电脑版网页链接
  • 南宁的网站建设昆山网页设计培训
  • 南京建设网站公司免费网站重生九零做商女
  • 网站开发的整个流程朝阳网站制作公司
  • 吴江公司网站建设电话公司注册资本最低多少
  • 拓者设计吧网站重庆互联网大厂
  • 广东网页空间网站江苏建设工程集团
  • 网站域名解析后多久能生效简述seo
  • 深圳品牌网站开发网站建设公司程序
  • 网站后缀gov免费入驻的电商平台
  • 网站建设服务协议书wordpress获取当前分类别名
  • 金诚信矿业建设集团有限公司网站搭建微擎网站后怎么做微官网
  • 上海微信网站百度做网站要多久
  • 网站模板 jspwordpress如何go转
  • 大良网站建设公司线上推广的方法
  • 网站优化目录网络框架
  • 电子商务门户网站的研究与实现wordpress调用置顶文章
  • 筑楼人官方网seo推广的常见目的有
  • 合工大智能院网站建设交换链接是什么意思
  • 搞个网站需要多少钱北京注册公司多少钱
  • 做外贸的网站平台有哪些内容建设网站有何要求
  • 网站开发 所有权深圳专业网站建设公司